.keyboard-help-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10001;display:flex;align-items:center;justify-content:center;padding:2rem;animation:fadeIn .3s ease-out}.keyboard-help-modal{background:rgba(255,255,255,.98);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);border:2px solid var(--border-color);max-width:600px;width:100%;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.keyboard-help-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;border-bottom:2px solid var(--border-color);background:rgba(248,250,252,.8)}.keyboard-help-header h2{margin:0;font-size:1.375rem;font-weight:700;color:var(--text-primary);letter-spacing:-.025em}.keyboard-help-close{background:none;border:none;font-size:1.25rem;color:var(--text-secondary);cursor:pointer;padding:.5rem;border-radius:var(--radius);transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem}.keyboard-help-close:hover{background:rgba(0,0,0,.1);color:var(--text-primary)}.keyboard-help-close:focus{outline:2px solid var(--accent-color);outline-offset:2px}.keyboard-help-content{flex:1;overflow-y:auto;padding:2rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.shortcut-category{display:flex;flex-direction:column;gap:1rem}.category-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0;padding-bottom:.5rem;border-bottom:2px solid var(--accent-light);letter-spacing:-.01em}.shortcuts-list{display:flex;flex-direction:column;gap:.75rem}.shortcut-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;background:rgba(255,255,255,.8);border-radius:var(--radius);border:1px solid var(--border-light);transition:all .2s ease}.shortcut-item:hover{background:rgba(255,255,255,1);border-color:var(--accent-color);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.shortcut-keys{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.key{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;padding:0 .375rem;background:linear-gradient(145deg,#f8f9fa,#e9ecef);border:1px solid #dee2e6;border-bottom:2px solid #adb5bd;border-radius:4px;font-family:SF Mono,Monaco,Menlo,monospace;font-size:.75rem;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.025em;box-shadow:0 1px #fffc inset}.key-separator{color:var(--text-tertiary);font-size:.75rem;font-weight:500;margin:0 .125rem}.shortcut-desc{color:var(--text-secondary);font-size:.9rem;font-weight:500;text-align:right;line-height:1.4}.keyboard-help-footer{padding:1rem 2rem;border-top:2px solid var(--border-color);background:rgba(248,250,252,.8);text-align:center}.keyboard-help-footer p{margin:0;color:var(--text-secondary);font-size:.875rem;font-weight:500}.keyboard-help-footer kbd{display:inline-flex;align-items:center;justify-content:center;padding:.125rem .375rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:3px;font-family:inherit;font-size:.75rem;font-weight:600;color:var(--text-primary)}@media (max-width: 768px){.keyboard-help-overlay{padding:1rem}.keyboard-help-modal{max-height:90vh}.keyboard-help-header{padding:1rem 1.25rem}.keyboard-help-header h2{font-size:1.25rem}.keyboard-help-content{padding:1.5rem 1.25rem;grid-template-columns:1fr;gap:1.5rem}.shortcut-item{flex-direction:column;align-items:stretch;gap:.5rem;text-align:center}.shortcut-keys{justify-content:center}.shortcut-desc{text-align:center}.keyboard-help-footer{padding:1rem 1.25rem}}@media (max-width: 1024px) and (min-width: 769px){.keyboard-help-content{grid-template-columns:repeat(2,1fr)}}@media (prefers-contrast: high){.keyboard-help-modal{background:white;border-width:3px;border-color:var(--accent-color)}.key{background:white;border-color:var(--text-primary);border-bottom-color:var(--text-primary)}.shortcut-item{border-width:2px}}@media (prefers-reduced-motion: reduce){.keyboard-help-overlay,.keyboard-help-modal{animation:none}.shortcut-item{transition:none}.shortcut-item:hover{transform:none}}.skip-link{position:fixed;top:0;left:50%;transform:translate(-50%) translateY(-100%);background:var(--accent-color);color:#fff;padding:.75rem 1.5rem;text-decoration:none;font-weight:600;font-size:.9rem;border-radius:0 0 var(--radius) var(--radius);box-shadow:var(--shadow-lg);z-index:10002;transition:transform .3s ease;border:3px solid transparent}.skip-link:focus{transform:translate(-50%) translateY(0)!important;outline:3px solid rgba(255,255,255,.8);outline-offset:2px}.skip-link:hover{background:var(--accent-hover);transform:translate(-50%) translateY(0)}@media (prefers-contrast: high){.skip-link{background:black;border-color:#fff}.skip-link:focus{outline-color:#fff;outline-width:4px}}.layout{display:flex;height:100vh;overflow:hidden}.sidebar{width:260px;background:var(--gradient-subtle);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-right:none;flex-shrink:0;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:none;position:relative;display:flex;flex-direction:column;height:100vh;overflow-y:auto}.mobile-header{display:flex;align-items:center;justify-content:flex-end;padding:1rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.1)}.collapse-btn{background:rgba(255,255,255,.8);border:none;padding:.5rem;color:var(--text-secondary);font-size:.875rem;border-radius:var(--radius);transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-xs)}.collapse-btn:hover{background:var(--accent-color);color:#fff;transform:translateY(-1px);box-shadow:var(--shadow-md)}.sidebar-nav{padding:1.5rem 0;flex:1}.nav-item{display:flex;align-items:center;padding:.875rem 1.25rem;margin:.25rem 1rem;color:var(--text-secondary);text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:var(--radius);border:none;background:none;width:calc(100% - 2rem);text-align:left;position:relative;font-weight:500;overflow:hidden}.nav-item:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(99,102,241,.1),rgba(139,92,246,.1));opacity:0;transition:opacity .3s ease}.nav-item:hover{background:rgba(255,255,255,.9);color:var(--text-primary);transform:translate(4px);box-shadow:var(--shadow-md)}.nav-item:hover:before{opacity:1}.nav-item.active{background:var(--gradient-accent);color:#fff;transform:translate(6px);box-shadow:var(--shadow-lg);font-weight:600}.nav-item.active:before{opacity:0}.nav-item.active:hover{transform:translate(8px);box-shadow:var(--shadow-xl)}.nav-icon{font-size:1.375rem;margin-right:1rem;width:1.75rem;text-align:center;flex-shrink:0;position:relative;z-index:1;transition:transform .3s ease}.nav-item:hover .nav-icon{transform:scale(1.1)}.nav-text{white-space:nowrap;overflow:hidden;position:relative;z-index:1;font-size:.95rem;letter-spacing:-.01em}.collapsed .nav-text{display:none}.collapsed .nav-icon{margin-right:0}.collapsed .nav-item{justify-content:center;margin:.25rem .75rem;width:calc(100% - 1.5rem)}.main-content{flex:1;min-width:0;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%);height:100vh;overflow-y:auto;overflow-x:hidden}.content-wrapper{padding:3rem 2.5rem;max-width:1200px;margin:0 auto;min-height:calc(100vh - 6rem)}.main-content::-webkit-scrollbar{width:8px}.main-content::-webkit-scrollbar-track{background:rgba(0,0,0,.05)}.main-content::-webkit-scrollbar-thumb{background:rgba(0,0,0,.15);border-radius:4px;transition:background .3s ease}.main-content::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.25)}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.2);border-radius:3px;transition:background .3s ease}.sidebar::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.35)}.mobile-menu-btn{position:fixed;top:1rem;left:1rem;z-index:1100;background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid var(--border-color);border-radius:var(--radius);padding:.75rem;cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow-lg);width:48px;height:48px;display:flex;align-items:center;justify-content:center}.mobile-menu-btn:hover{background:var(--accent-color);border-color:var(--accent-color);box-shadow:var(--shadow-xl)}.mobile-menu-btn:hover .hamburger-icon span{background:white}.hamburger-icon{display:flex;flex-direction:column;gap:4px;width:20px;height:16px}.hamburger-icon span{display:block;height:2px;width:100%;background:var(--text-primary);border-radius:1px;transition:all .3s ease}.mobile-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width: 768px){.layout{height:100vh;height:100dvh}.content-wrapper{padding:5rem 1.5rem 2rem;min-height:calc(100vh - 7rem)}.sidebar{position:fixed;top:0;left:0;height:100vh;height:100dvh;z-index:1000;transform:translate(-100%);width:280px;transition:transform .3s ease;box-shadow:var(--shadow-xl);overflow-y:auto}.sidebar.collapsed{width:280px}.sidebar.open{transform:translate(0)}.main-content{margin-left:0;width:100%;height:100vh;height:100dvh;overflow-y:auto}.sidebar-header{padding:1.25rem}.nav-item{margin:.25rem 1rem;width:calc(100% - 2rem);transform:none}.nav-item:hover,.nav-item.active{transform:none}}.external-tools{padding:.5rem .625rem;border:1px solid rgba(0,0,0,.06);border-radius:.625rem;background:rgba(248,250,252,.4);margin:.75rem .75rem .375rem;flex-shrink:0}.common-addresses{padding:.5rem .625rem;border:1px solid rgba(0,0,0,.06);border-radius:.625rem;background:rgba(248,250,252,.4);margin:.375rem .75rem .75rem;flex-shrink:0}.address-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:.375rem 0;background:none;border:none;font-size:.8rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:all .2s ease;margin-bottom:.25rem}.address-header:hover{color:var(--text-secondary)}.address-title{display:flex;align-items:center;gap:.375rem}.address-icon{font-size:.7rem;opacity:.6;transition:all .2s ease}.address-header:hover .address-icon{opacity:.8}.address-toggle{display:flex;align-items:center;justify-content:center;width:1rem;height:1rem;color:var(--text-tertiary);opacity:.6;transition:all .2s ease;transform-origin:center}.address-header:hover .address-toggle{opacity:.8}.address-toggle.expanded{transform:rotate(180deg)}.address-toggle svg{width:10px;height:6px;transition:inherit}.external-header{font-size:.8rem;font-weight:600;color:var(--text-tertiary);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em;text-align:center}.external-links{display:grid;grid-template-columns:repeat(3,1fr);gap:.1rem}.external-link{display:flex;align-items:center;justify-content:center;padding:.5rem .125rem;text-decoration:none;color:var(--text-secondary);border-radius:.25rem;transition:all .2s ease;overflow:hidden;background:rgba(255,255,255,.5);border:1px solid rgba(0,0,0,.04);min-height:2.5rem}.external-link:hover{background:rgba(255,255,255,.9);color:var(--accent-color);transform:translateY(-1px);border-color:var(--accent-color);box-shadow:0 1px 4px #0000001a}.external-link:hover .external-icon{color:var(--accent-color);opacity:1;transform:scale(1.1)}.external-link:hover .external-name{color:var(--accent-color)}.external-icon{font-size:.6rem;font-weight:600;font-family:system-ui,-apple-system,sans-serif;color:#6b7280;opacity:.8;transition:all .2s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;letter-spacing:-.01em;text-align:center;transform:scaleX(.95)}.external-name{font-size:.6rem;font-weight:500;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:all .2s ease;line-height:1;text-align:center;max-width:100%;letter-spacing:-.01em}.common-links{display:flex;flex-direction:column;gap:.25rem;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.common-link{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:rgba(255,255,255,.8);border:1px solid var(--border-light);border-radius:.5rem;text-decoration:none;transition:all .2s ease;position:relative;overflow:hidden}.common-link:hover{background:rgba(255,255,255,1);border-color:var(--accent-color);transform:translate(4px);box-shadow:0 2px 12px #0000001a}.common-icon{width:1rem;height:1rem;flex-shrink:0;transition:all .2s ease;border-radius:2px;object-fit:contain}.common-icon-fallback{font-size:1rem;line-height:1;flex-shrink:0;transition:all .2s ease}.common-name{font-size:.8rem;font-weight:500;color:var(--text-primary);line-height:1.2;transition:all .2s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.common-link:hover .common-icon,.common-link:hover .common-icon-fallback{transform:scale(1.1)}.common-link:hover .common-name{color:var(--accent-color)}.collapsed .external-tools,.collapsed .common-addresses{display:none}@media (max-width: 768px){.external-links{gap:.08rem}.external-link{padding:.375rem .1rem;min-height:2rem}.external-icon{font-size:.55rem;transform:scaleX(.9)}.common-links{gap:.25rem}.common-link{padding:.375rem .5rem;gap:.5rem}.common-icon{width:.9rem;height:.9rem}.common-icon-fallback{font-size:.9rem}.common-name{font-size:.75rem}.address-header{padding:.375rem 0;margin-bottom:.5rem}.address-title{gap:.25rem}.address-icon{font-size:.6rem}.address-toggle{width:.875rem;height:.875rem}.address-toggle svg{width:8px;height:5px}}.toast-container{position:fixed;top:1rem;right:1rem;z-index:9999;display:flex;flex-direction:column;gap:.5rem;pointer-events:none;max-width:320px}.toast{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:rgba(255,255,255,.98);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:.75rem;box-shadow:0 4px 20px #0000001f,0 1px 3px #00000014;border:1px solid rgba(255,255,255,.2);pointer-events:auto;transform:translate(100%) scale(.95);opacity:0;transition:all .3s cubic-bezier(.34,1.56,.64,1);max-width:100%;position:relative;overflow:hidden}.toast:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:currentColor;border-radius:0 .25rem .25rem 0}.toast-visible{transform:translate(0) scale(1);opacity:1}.toast-leaving{transform:translate(100%) scale(.95);opacity:0}.toast-content{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.toast-icon{font-size:1rem;flex-shrink:0;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.toast-message{color:var(--text-primary);font-weight:500;font-size:.875rem;line-height:1.4;word-break:break-word}.toast-close{background:none;border:none;color:var(--text-secondary);font-size:.875rem;cursor:pointer;padding:.125rem;border-radius:.25rem;margin:-.125rem -.125rem -.125rem 0;transition:all .2s ease;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;opacity:.6}.toast-close:hover{background:rgba(0,0,0,.08);color:var(--text-primary);opacity:1;transform:scale(1.1)}.toast-close:focus{outline:2px solid var(--accent-color);outline-offset:1px}.toast-success{color:#059669;border-color:#10b98126;background:linear-gradient(135deg,rgba(236,253,245,.98),rgba(220,252,231,.95))}.toast-error{color:#dc2626;border-color:#ef444426;background:linear-gradient(135deg,rgba(254,242,242,.98),rgba(254,226,226,.95))}.toast-warning{color:#d97706;border-color:#f59e0b26;background:linear-gradient(135deg,rgba(255,251,235,.98),rgba(254,243,199,.95))}.toast-info{color:#2563eb;border-color:#3b82f626;background:linear-gradient(135deg,rgba(239,246,255,.98),rgba(219,234,254,.95))}@media (max-width: 768px){.toast-container{top:.75rem;right:.75rem;left:.75rem;max-width:none}.toast{padding:.75rem 1rem;font-size:.875rem;border-radius:.75rem}.toast-message{font-size:.8rem}.toast-icon{font-size:.9rem}}@media (prefers-contrast: high){.toast{border-width:3px;background:white}.toast-success{border-color:var(--success-color)}.toast-error{border-color:var(--error-color)}.toast-warning{border-color:var(--warning-color)}.toast-info{border-color:var(--accent-color)}}@media (prefers-reduced-motion: reduce){.toast{transition:opacity .2s ease}.toast-visible,.toast-leaving{transform:none}}.toast:focus-within{outline:2px solid var(--accent-color);outline-offset:2px}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:10000;display:flex;align-items:center;justify-content:center;pointer-events:auto;animation:fadeIn .3s ease-out}.loading-backdrop{background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.loading-content{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:2rem;background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);border:2px solid var(--border-color);text-align:center;max-width:300px;min-width:200px}.loading-spinner{position:relative;width:60px;height:60px}.spinner-ring{position:absolute;top:0;left:0;width:100%;height:100%;border:3px solid transparent;border-radius:50%;animation:spin 1.2s cubic-bezier(.4,0,.2,1) infinite}.spinner-ring:nth-child(1){border-top-color:var(--accent-color);animation-delay:0s}.spinner-ring:nth-child(2){border-right-color:var(--accent-color);animation-delay:-.4s;opacity:.7}.spinner-ring:nth-child(3){border-bottom-color:var(--accent-color);animation-delay:-.8s;opacity:.4}@keyframes spin{0%{transform:rotate(0);scale:1}50%{transform:rotate(180deg);scale:1.1}to{transform:rotate(360deg);scale:1}}.loading-message{font-size:1rem;font-weight:600;color:var(--text-primary);letter-spacing:-.01em;line-height:1.4}.loading-progress{width:100%;display:flex;flex-direction:column;gap:.5rem}.progress-bar{width:100%;height:8px;background:var(--bg-tertiary);border-radius:var(--radius-sm);overflow:hidden;box-shadow:inset 0 1px 3px #0000001a}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent-color),var(--accent-hover));border-radius:var(--radius-sm);transition:width .3s ease;position:relative;overflow:hidden}.progress-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 1.5s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-text{font-size:.875rem;color:var(--text-secondary);font-weight:500;text-align:center}@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@media (max-width: 768px){.loading-content{padding:1.5rem;margin:1rem;max-width:calc(100% - 2rem);min-width:auto}.loading-spinner{width:50px;height:50px}.loading-message{font-size:.9rem}}@media (prefers-contrast: high){.loading-content{background:white;border-width:3px;border-color:var(--accent-color)}.spinner-ring{border-width:4px}}@media (prefers-reduced-motion: reduce){.loading-overlay{animation:none}.spinner-ring{animation:none;border-top-color:var(--accent-color);border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.progress-fill:after{animation:none}}.calendar-container{display:flex;flex-direction:column;gap:0;max-width:800px;margin:0 auto;background:#fff;font-family:Microsoft YaHei,微软雅黑,Arial,sans-serif;border:.5px solid #e8e8e8;border-radius:20px;overflow:hidden}.calendar-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#fff;position:relative}.calendar-nav{display:flex;align-items:center;gap:24px;position:absolute;left:50%;transform:translate(-50%)}.period-selector,.year-selector{display:flex;align-items:center;gap:8px}.month-selector{display:flex;align-items:center;gap:4px}.period-select,.year-select,.month-select{background:#fff;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;font-weight:500;color:#333;cursor:pointer;padding:4px 28px 4px 8px;transition:all .2s ease;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 8px center;background-size:12px}.period-select{min-width:70px}.year-select{min-width:80px}.month-select{min-width:60px}.period-select:hover,.year-select:hover,.month-select:hover{border-color:#108ee9;background-color:#f5f5f5;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23108ee9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e")}.period-select:focus,.year-select:focus,.month-select:focus{border-color:#108ee9;box-shadow:0 0 0 2px #108ee933;background-color:#fff;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23108ee9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e")}.nav-btn{width:32px;height:32px;border:none;border-radius:8px;background:#fff;color:#333;font-size:16px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.nav-btn:hover{background:#f5f5f5;color:#108ee9}.date-display{padding:0;border:none;background:transparent;color:#333;font-size:18px;font-weight:400;cursor:pointer;transition:all .2s ease;min-width:120px;text-align:center}.date-display:hover{color:#108ee9}.today-btn{padding:6px 12px;border:1px solid #d9d9d9;border-radius:8px;background:#fff;color:#333;font-size:12px;cursor:pointer;transition:all .2s ease;font-weight:400}.today-btn:hover{border-color:#108ee9;color:#108ee9}.calendar-body{background:#fff}.month-view{padding:0}.weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;background:#fff;height:52px;padding:0 20px;align-items:center;justify-items:center}.weekday{display:flex;align-items:center;justify-content:center;font-weight:500;color:#666;background:#fff;font-size:14px;height:40px}.weekday.weekend{color:#e74c3c}.days-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;padding:20px;border:none;justify-items:center;align-content:start}.day-cell{width:80px;height:62px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;cursor:pointer;transition:all .1s ease;font-size:20px;font-weight:500;color:#000;position:relative;border-radius:10px;border:1px solid transparent;padding:2px;gap:1px}.day-cell:hover{background:#faf5ff}.day-cell.current-month{color:#000;font-weight:500}.day-cell.other-month{color:#ccc;font-weight:500}.day-cell.today{color:#7c3aed;font-weight:500}.day-cell.today:hover{background:#faf5ff}.day-cell.selected{background:#fff;color:#7c3aed;font-weight:500;border:2px solid #7c3aed}.day-cell.selected:hover{background:#faf5ff}.day-cell.weekend,.day-cell.current-month.weekend{color:#e74c3c}.day-cell.other-month.weekend{color:#f8b2b2}.day-cell.today.weekend,.day-cell.selected.weekend{color:#e74c3c}.solar-date{font-size:18px;font-weight:500;line-height:1}.lunar-date{font-size:10px;font-weight:400;color:#999;line-height:1;margin-top:1px}.day-cell.weekend .lunar-date{color:#f8b2b2}.day-cell.other-month .lunar-date{color:#ccc}.day-cell.other-month.holiday .lunar-date{color:#f0c0c0}.day-cell.other-month.workday .lunar-date{color:#e0e0e0}.day-cell.today .lunar-date,.day-cell.selected .lunar-date{color:#7c3aed}.day-cell.holiday{background:#fff2f0!important}.day-cell.holiday:hover{background:#ffe7e7!important}.day-cell.holiday .solar-date{color:#e74c3c;font-weight:600}.holiday-text{color:#e74c3c!important;font-weight:500}.day-cell.other-month.holiday{background:rgba(255,242,240,.3)!important}.day-cell.other-month.holiday:hover{background:rgba(255,231,231,.4)!important}.day-cell.other-month.holiday .solar-date{color:#f8b2b2;font-weight:500}.day-cell.workday{background:#f6f8fa!important}.day-cell.workday:hover{background:#e5e7eb!important}.day-cell.workday .solar-date{color:#374151;font-weight:600}.workday-text{color:#6b7280!important;font-weight:500}.day-cell.other-month.workday{background:rgba(246,248,250,.3)!important}.day-cell.other-month.workday:hover{background:rgba(229,231,235,.4)!important}.day-cell.other-month.workday .solar-date{color:#d1d5db;font-weight:500}.day-cell.holiday.today{border-color:#7c3aed!important;background:#f3e8ff!important}.day-cell.holiday.today .solar-date{color:#7c3aed}.day-cell.holiday.selected{background:#fff2f0!important}.day-cell.holiday.selected .solar-date{color:#ff4d4f}.day-cell.workday.today{border-color:#7c3aed!important;background:#f3e8ff!important}.day-cell.workday.today .solar-date{color:#7c3aed}.day-cell.workday.selected{background:#f6f8fa!important}.day-cell.workday.selected .solar-date{color:#374151}.realtime-clock{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:16px;padding:24px;margin-bottom:20px;color:#fff;display:flex;justify-content:center;align-items:center;box-shadow:0 4px 15px #667eea33;text-align:center}.clock-main{display:flex;align-items:center;gap:32px}.clock-date,.clock-time{font-size:28px;font-weight:600;font-family:Monaco,Menlo,Ubuntu Mono,monospace;letter-spacing:.5px;white-space:nowrap}.clock-info{display:flex;flex-direction:row;align-items:flex-end;gap:12px;margin-left:24px}.clock-weekday,.clock-lunar{font-size:14px;font-weight:500;opacity:.95;white-space:nowrap}.date-badges{position:absolute;top:2px;right:2px;display:flex;flex-direction:column;gap:2px;pointer-events:none}.badge{font-size:10px;font-weight:600;padding:2px 4px;border-radius:6px;line-height:1;text-align:center;min-width:16px;height:14px;display:flex;align-items:center;justify-content:center}.badge-today{background:#7c3aed;color:#fff}.badge-holiday{background:#e74c3c;color:#fff}.badge-workday{background:#6b7280;color:#fff}.day-cell.other-month .badge-holiday{background:rgba(231,76,60,.4);color:#ffffffb3}.day-cell.other-month .badge-workday{background:rgba(107,114,128,.4);color:#ffffffb3}.year-view{padding:20px}.months-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.month-cell{height:80px;display:flex;align-items:center;justify-content:center;border:1px solid #e8e8e8;border-radius:4px;background:#fff;cursor:pointer;transition:all .1s ease;font-size:14px;font-weight:400;color:#333}.month-cell:hover{background:#e6f7ff;border-color:#108ee9;color:#108ee9}.month-cell.current-month{background:#108ee9;border-color:#108ee9;color:#fff}.month-cell.current-month:hover{background:#108ee9;border-color:#108ee9}.calendar-footer{padding:16px 20px;background:#fff}.selected-info{display:flex;flex-direction:column;gap:12px}.selected-date{display:flex;align-items:center;gap:12px}.date-text{font-size:16px;font-weight:400;color:#333}.weekday-text{padding:2px 8px;background:#f0f0f0;color:#666;border-radius:2px;font-size:12px;font-weight:400}.date-actions{display:flex;gap:8px;flex-wrap:wrap}.copy-btn{padding:4px 8px;border:1px solid #d9d9d9;border-radius:4px;background:#fff;color:#333;font-size:12px;cursor:pointer;transition:all .1s ease;display:flex;align-items:center;gap:4px;font-weight:400}.copy-btn:hover{border-color:#108ee9;color:#108ee9}.copy-btn:active{background:#f5f5f5}.calendar-info{display:flex;flex-direction:column;gap:8px;padding:16px 20px;background:#f9f9f9}.info-item{display:flex;align-items:center;gap:8px;font-size:12px;color:#666}.info-icon{font-size:14px;flex-shrink:0}.info-text{line-height:1.4;font-weight:400}@media (max-width: 768px){.calendar-container{max-width:100%;margin:0 16px}.calendar-header{padding:12px 16px}.calendar-nav{gap:16px}.period-selector,.year-selector{gap:6px}.month-selector{gap:3px}.period-select{font-size:12px;min-width:60px;padding:3px 6px}.year-select{font-size:12px;min-width:70px;padding:3px 6px}.month-select{font-size:12px;min-width:50px;padding:3px 6px}.nav-btn{width:28px;height:28px;font-size:14px}.date-display{font-size:16px;min-width:100px}.today-btn{padding:4px 8px;font-size:11px;margin-left:12px}.weekdays{height:40px;gap:2px;padding:0 12px;justify-items:center}.weekday{font-size:12px;height:32px}.days-grid{gap:2px;padding:12px;height:auto}.day-cell{width:40px;height:40px;font-size:14px;font-weight:500;border-radius:4px;padding:1px;gap:0px}.solar-date{font-size:12px}.lunar-date{font-size:8px;margin-top:0}.date-badges{top:1px;right:1px}.badge{font-size:8px;padding:1px 3px;min-width:14px;height:12px;border-radius:4px}.realtime-clock{padding:18px;margin-bottom:16px;border-radius:12px}.clock-main{gap:24px}.clock-info{gap:10px;margin-left:18px;flex-direction:row;align-items:flex-end}.clock-date,.clock-time{font-size:22px}.clock-weekday,.clock-lunar{font-size:12px}.year-view{padding:16px}.months-grid{grid-template-columns:repeat(3,1fr);gap:12px}.month-cell{height:60px;font-size:12px}.calendar-footer{padding:12px 16px}.selected-date{flex-direction:column;align-items:flex-start;gap:8px}.date-text{font-size:14px}.weekday-text{font-size:11px;padding:1px 6px}.date-actions{width:100%;justify-content:flex-start}.copy-btn{padding:3px 6px;font-size:11px;gap:2px}.calendar-info{padding:12px 16px}.info-item{font-size:11px;gap:6px}.info-icon{font-size:12px}}@media (max-width: 480px){.calendar-header{padding:10px 12px}.calendar-nav{gap:12px}.period-selector,.year-selector{gap:4px}.month-selector{gap:2px}.period-select{font-size:11px;min-width:50px;padding:2px 4px}.year-select{font-size:11px;min-width:60px;padding:2px 4px}.month-select{font-size:11px;min-width:40px;padding:2px 4px}.nav-btn{width:24px;height:24px;font-size:12px}.date-display{font-size:14px;min-width:80px}.today-btn{font-size:10px;padding:3px 6px;margin-left:8px}.weekdays{height:36px;gap:1px;padding:0 8px;justify-items:center}.weekday{font-size:11px;height:28px}.days-grid{gap:1px;padding:8px;height:auto}.day-cell{width:36px;height:36px;font-size:12px;font-weight:500;border-radius:3px;padding:1px;gap:0px}.solar-date{font-size:10px}.lunar-date{font-size:7px;margin-top:0}.date-badges{top:1px;right:1px}.badge{font-size:7px;padding:1px 2px;min-width:12px;height:10px;border-radius:3px}.realtime-clock{padding:16px;margin-bottom:14px;border-radius:10px}.clock-main{gap:18px}.clock-info{gap:8px;margin-left:14px;flex-direction:row;align-items:flex-end}.clock-date,.clock-time{font-size:18px}.clock-weekday,.clock-lunar{font-size:11px}.year-view{padding:12px}}@media (max-width: 360px){.realtime-clock{flex-direction:column;gap:14px;text-align:center;padding:14px}.clock-main{flex-direction:column;gap:10px;align-items:center}.clock-info{flex-direction:row;gap:24px;justify-content:center;margin-left:0}.months-grid{grid-template-columns:repeat(2,1fr);gap:8px}.month-cell{height:50px;font-size:11px}.calendar-footer{padding:10px 12px}.selected-info{gap:6px}.date-text{font-size:13px}.weekday-text{font-size:10px;padding:1px 4px}.copy-btn{font-size:10px;padding:2px 4px;gap:1px}.calendar-info{padding:10px 12px}.info-item{font-size:10px;gap:4px}.info-icon{font-size:11px}}.tool-page{max-width:950px;margin:0 auto}.tool-header{display:flex;align-items:center;gap:1.5rem;margin-bottom:2.5rem;padding:2rem 2.5rem;background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border:none;position:relative;overflow:hidden}.tool-icon{font-size:2.75rem;width:4rem;height:4rem;display:flex;align-items:center;justify-content:center;background:var(--gradient-accent);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);color:#fff;position:relative;overflow:hidden;transition:transform .3s ease}.tool-icon:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(255,255,255,.3),transparent);transform:translate(-100%);transition:transform .6s ease}.tool-header:hover .tool-icon:before{transform:translate(100%)}.tool-header:hover .tool-icon{transform:scale(1.05)}.tool-info{flex:1;position:relative;z-index:1}.tool-title{font-size:2.125rem;font-weight:800;color:var(--text-primary);margin-bottom:.75rem;letter-spacing:-.025em;line-height:1.2}.tool-description{color:var(--text-secondary);font-size:1.125rem;font-weight:500;line-height:1.6;letter-spacing:-.01em}.tool-body{background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:var(--radius-xl);padding:2.5rem;box-shadow:var(--shadow-xl);border:none;position:relative;overflow:hidden}.tool-content{display:flex;flex-direction:column;gap:2rem;position:relative;z-index:1}.input-section,.output-section{display:flex;flex-direction:column;gap:.75rem}.input-section label,.output-section label{font-weight:700;color:var(--text-primary);font-size:.9rem;letter-spacing:-.01em;margin-bottom:.25rem}.input-section textarea,.output-section textarea,.input-section input[type=text],.output-section input[type=text]{width:100%;padding:1rem 1.25rem;border:2px solid var(--border-color);border-radius:var(--radius-lg);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9rem;line-height:1.6;resize:vertical;transition:all .3s cubic-bezier(.4,0,.2,1);background:rgba(255,255,255,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-sm)}.input-section textarea:focus,.output-section textarea:focus,.input-section input[type=text]:focus,.output-section input[type=text]:focus{outline:none;border-color:var(--accent-color);box-shadow:var(--shadow-md),0 0 0 3px #6366f11a;transform:translateY(-1px);background:rgba(255,255,255,.95)}.input-section textarea:hover,.input-section input[type=text]:hover{border-color:var(--text-tertiary);box-shadow:var(--shadow-md)}.button-group{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.primary-btn,.secondary-btn,.copy-btn{padding:.875rem 2rem;border-radius:var(--radius-lg);font-weight:700;font-size:.95rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;letter-spacing:-.01em}.primary-btn{background:var(--gradient-accent);color:#fff;border:none;box-shadow:var(--shadow-lg)}.primary-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .6s ease}.primary-btn:hover{background:linear-gradient(135deg,#5b21b6 0%,#7c3aed 100%);transform:translateY(-2px);box-shadow:var(--shadow-xl)}.primary-btn:hover:before{left:100%}.primary-btn:active{transform:translateY(0);box-shadow:var(--shadow-lg)}.secondary-btn{background:rgba(255,255,255,.9);color:var(--text-primary);border:2px solid var(--border-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-sm)}.secondary-btn:hover{background:rgba(255,255,255,1);border-color:var(--accent-color);transform:translateY(-1px);box-shadow:var(--shadow-md);color:var(--accent-color)}.copy-btn{background:rgba(255,255,255,.8);color:var(--text-secondary);border:2px solid var(--border-color);padding:.625rem 1rem;font-size:.8rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-xs)}.copy-btn:hover{background:var(--accent-color);color:#fff;border-color:var(--accent-color);transform:translateY(-1px);box-shadow:var(--shadow-md)}.error-message{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:rgba(239,68,68,.1);border:2px solid rgba(239,68,68,.2);border-radius:var(--radius-lg);color:var(--error-color);font-weight:600;font-size:.9rem;margin-bottom:1rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-sm);animation:errorSlideIn .3s ease-out}.error-icon{font-size:1.2rem;flex-shrink:0}@keyframes errorSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.success-message{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:rgba(16,185,129,.1);border:2px solid rgba(16,185,129,.2);border-radius:var(--radius-lg);color:var(--success-color);font-weight:600;font-size:.9rem;margin-bottom:1rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-sm);animation:successSlideIn .3s ease-out}@keyframes successSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.settings-section{display:flex;flex-direction:column;gap:1.5rem;padding:2rem;background:rgba(248,250,252,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);border:none;box-shadow:var(--shadow-sm)}.setting-item{display:flex;align-items:center;gap:1rem}.setting-item label{font-weight:700;color:var(--text-primary);min-width:120px;font-size:.9rem;letter-spacing:-.01em}.setting-item input,.setting-item select{padding:.75rem 1rem;border:2px solid var(--border-color);border-radius:var(--radius);background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s cubic-bezier(.4,0,.2,1);font-weight:500;box-shadow:var(--shadow-xs)}.setting-item input:focus,.setting-item select:focus{outline:none;border-color:var(--accent-color);box-shadow:var(--shadow-sm),0 0 0 3px #6366f11a;background:white}.setting-item input:hover,.setting-item select:hover{border-color:var(--text-tertiary);box-shadow:var(--shadow-sm)}.checkbox-group{display:flex;flex-direction:column;gap:.5rem}.checkbox-item{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.25rem 0}.checkbox-item input[type=checkbox]{margin:0}.diff-inputs{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.qr-preview{display:flex;justify-content:center;align-items:center;min-height:300px}.qr-placeholder{display:flex;flex-direction:column;align-items:center;gap:1rem;color:var(--text-secondary);text-align:center}.qr-placeholder span{font-size:4rem}.color-picker-section{display:flex;flex-direction:column;align-items:center;gap:1rem}.color-preview{margin-bottom:1rem}.color-display{width:200px;height:200px;border-radius:var(--radius);box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:1.125rem;text-shadow:0 1px 3px rgba(0,0,0,.5)}.color-input input[type=color]{width:60px;height:60px;border:none;border-radius:var(--radius);cursor:pointer}.color-formats{display:flex;flex-direction:column;gap:1rem}.format-item{display:flex;align-items:center;gap:1rem}.format-item label{min-width:60px;font-weight:600;color:var(--text-primary)}.format-item input{flex:1;padding:.5rem;border:1px solid var(--border-color);border-radius:var(--radius);font-family:Monaco,Menlo,Ubuntu Mono,monospace}.password-output{display:flex;gap:.5rem}.password-output input{flex:1}.diff-result{min-height:200px;border:1px solid var(--border-color);border-radius:var(--radius);display:flex;align-items:center;justify-content:center}.result-placeholder{display:flex;flex-direction:column;align-items:center;gap:1rem;color:var(--text-secondary);text-align:center}.result-placeholder span{font-size:3rem}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-bottom:1.5rem;max-width:700px}.image-preview{margin-top:2.5rem;border:none;border-radius:var(--radius-xl);padding:2rem;background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1.5rem;position:relative;z-index:1}.preview-header h3{margin:0;color:var(--text-primary);font-size:1.5rem;font-weight:800;letter-spacing:-.02em}.image-info{display:flex;gap:.75rem;font-size:.8rem;color:var(--text-secondary);flex-wrap:wrap}.image-info span{background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:.375rem .75rem;border-radius:var(--radius);border:none;font-weight:600;letter-spacing:-.01em;box-shadow:var(--shadow-xs);transition:all .3s ease}.image-info span:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.accuracy-high{background:var(--success-light)!important;color:var(--success-color)!important;font-weight:700}.accuracy-medium{background:var(--warning-light)!important;color:var(--warning-color)!important;font-weight:700}.accuracy-low{background:var(--error-light)!important;color:var(--error-color)!important;font-weight:700}.preview-container{display:flex;justify-content:center;align-items:center;min-height:280px;background:rgba(248,250,252,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);margin-bottom:1.5rem;border:none;transition:all .3s ease;position:relative;z-index:1}.preview-container:hover{background:rgba(248,250,252,1)}@media (max-width: 768px){.diff-inputs{grid-template-columns:1fr}.tool-header{flex-direction:column;text-align:center;padding:1.5rem;gap:1rem;margin-bottom:1.5rem}.tool-title{font-size:1.75rem}.tool-description{font-size:1rem}.tool-body{padding:1.5rem}.format-item{flex-direction:column;align-items:stretch}.format-item label{min-width:auto}.setting-item{flex-direction:column;align-items:stretch;gap:.5rem}.setting-item label{min-width:auto}.settings-grid{grid-template-columns:1fr;gap:1.5rem}.preview-header{flex-direction:column;text-align:center;gap:1rem}.image-info{justify-content:center;flex-wrap:wrap}.button-group{flex-direction:column;align-items:stretch;gap:.75rem}.primary-btn,.secondary-btn{width:100%;justify-content:center;padding:1rem 2rem}}.number-input-wrapper{display:flex;flex-direction:column;gap:.5rem}.number-input-label{font-weight:700;color:var(--text-primary);font-size:.9rem;letter-spacing:-.01em}.number-input-container{position:relative;display:flex;align-items:center}.number-input{width:100%;padding:.75rem 1rem;border:2px solid var(--border-color);border-radius:var(--radius);background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s cubic-bezier(.4,0,.2,1);font-weight:500;box-shadow:var(--shadow-xs);font-size:.95rem;color:var(--text-primary)}.number-input:focus{outline:none;border-color:var(--accent-color);box-shadow:var(--shadow-sm),0 0 0 3px #6366f11a;background:white;transform:translateY(-1px)}.number-input:hover:not(:focus){border-color:var(--text-tertiary);box-shadow:var(--shadow-sm)}.number-input:disabled{background:var(--bg-tertiary);color:var(--text-tertiary);cursor:not-allowed;border-color:var(--border-light)}.number-input-unit{position:absolute;right:1rem;color:var(--text-secondary);font-size:.85rem;font-weight:600;pointer-events:none;background:rgba(255,255,255,.9);padding:.25rem .5rem;border-radius:var(--radius-sm);border:1px solid var(--border-light);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.number-input-hint{font-size:.75rem;color:var(--text-tertiary);font-weight:500;margin-top:-.25rem}.number-input-container .number-input-unit+.number-input,.number-input-container:has(.number-input-unit) .number-input{padding-right:4rem}@supports not (selector(:has(.number-input-unit))){.number-input-container .number-input{padding-right:1rem}.number-input-container.has-unit .number-input{padding-right:4rem}}@media (max-width: 768px){.number-input{font-size:16px}.number-input-unit{font-size:.8rem}.number-input-hint{font-size:.7rem}}@media (prefers-contrast: high){.number-input{border-width:3px}.number-input:focus{box-shadow:0 0 0 3px var(--accent-color)}}@media (prefers-reduced-motion: reduce){.number-input{transition:none}}.word-counter-container{display:flex;flex-direction:column;gap:2rem}.section{background:rgba(255,255,255,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm);border:1px solid var(--border-light)}.section h3{margin:0 0 1rem;font-size:1.2rem;font-weight:600;color:var(--text-primary)}.stats-category{margin-bottom:2rem}.stats-category h4{margin:0 0 1rem;font-size:1rem;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border-light);padding-bottom:.5rem}.input-container{position:relative}.text-input{width:100%;padding:1rem 1rem 3rem;border:1px solid var(--border-color);border-radius:1rem;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:.9rem;line-height:1.6;resize:vertical;transition:all .2s ease;background:rgba(255,255,255,.9)}.text-input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #3b82f61a;background:rgba(255,255,255,1)}.input-actions{position:absolute;bottom:.75rem;right:.75rem;display:flex;gap:.5rem;z-index:10}.action-btn{background:rgba(255,255,255,.95);border:1px solid var(--border-light);border-radius:.5rem;padding:.5rem .75rem;font-size:.8rem;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 6px #0000001a;white-space:nowrap;font-weight:500}.action-btn:hover{background:rgba(255,255,255,1);transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.action-btn:active{transform:translateY(0)}.copy-btn{color:var(--accent-color)}.clear-btn{color:#dc3545}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-top:1rem}.stat-item{text-align:center;padding:1rem;background:rgba(248,250,252,.8);border-radius:var(--radius-md);border:1px solid var(--border-light);transition:transform .2s ease}.stat-item:hover{transform:translateY(-2px)}.stat-value{font-size:1.5rem;font-weight:700;color:var(--accent-color);margin-bottom:.25rem}.stat-label{font-size:.8rem;color:var(--text-secondary);font-weight:500}.advanced-stats-section{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-light)}.toggle-btn{width:100%;padding:.75rem;background:rgba(59,130,246,.1);border:1px solid rgba(59,130,246,.2);border-radius:var(--radius-md);color:var(--accent-color);font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:1rem}.toggle-btn:hover{background:rgba(59,130,246,.15)}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.generate-btn{width:100%;padding:.875rem 1.5rem;background:linear-gradient(135deg,var(--accent-color),#3b82f6);color:#fff;border:none;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all .2s ease;margin-bottom:1rem}.generate-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.result-area{border-top:1px solid var(--border-light);padding-top:1rem}.result-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.result-header label{font-weight:600;color:var(--text-primary)}.result-header button{padding:.375rem .875rem;background:var(--accent-color);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.8rem;cursor:pointer;transition:all .2s ease}.result-header button:hover{background:#2563eb;transform:translateY(-1px)}.result-text{width:100%;padding:.875rem;border:1px solid var(--border-color);border-radius:var(--radius-md);font-family:Menlo,Monaco,Consolas,monospace;font-size:.9rem;line-height:1.5;background:rgba(248,250,252,.5);resize:vertical}.result-text:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #3b82f61a}.button-group{display:flex;gap:.5rem;margin-top:.5rem}.button-group button{padding:.5rem 1rem;background:rgba(59,130,246,.1);color:var(--accent-color);border:1px solid var(--accent-color);border-radius:var(--radius-sm);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease}.button-group button:hover:not(:disabled){background:var(--accent-color);color:#fff;transform:translateY(-1px)}.button-group button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.word-counter-container{gap:1.5rem}.section{padding:1rem}.stats-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.settings-grid{grid-template-columns:1fr;gap:.75rem}.button-group{flex-wrap:wrap}.button-group button{flex:1;min-width:80px}.stat-value{font-size:1.25rem}.stat-item{padding:.75rem}}.generate-controls{margin-bottom:1.5rem}.controls-row{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;justify-content:space-between}.type-checkboxes{display:flex;gap:.75rem;flex-wrap:wrap}.checkbox-item{display:flex;align-items:center;gap:.25rem;padding:.375rem .5rem;background:rgba(255,255,255,.9);border:1px solid var(--border-light);border-radius:.375rem;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none;font-size:.8rem}.checkbox-item:hover{background:rgba(255,255,255,1);border-color:var(--accent-color);transform:translateY(-1px);box-shadow:0 2px 6px #0000001a}.checkbox-item:has(.checkbox-input:checked){background:rgba(59,130,246,.1);border-color:var(--accent-color);color:var(--accent-color);font-weight:500}.checkbox-input{width:.875rem;height:.875rem;accent-color:var(--accent-color);cursor:pointer}.checkbox-label{font-size:.8rem;cursor:pointer}.length-control{display:flex;align-items:center;gap:.5rem}.length-input{display:flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.9);border:1px solid var(--border-color);border-radius:.5rem;padding:.5rem;transition:all .2s ease}.length-input:focus-within{border-color:var(--accent-color);box-shadow:0 0 0 3px #3b82f61a}.length-field{width:50px;padding:0;border:none;background:transparent;font-size:.85rem;text-align:center;font-weight:500}.length-field:focus{outline:none}.unit-text{font-size:.8rem;color:var(--text-secondary);white-space:nowrap}.generate-btn-small{padding:.5rem;background:linear-gradient(135deg,var(--accent-color),#4f46e5);color:#fff;border:none;border-radius:.5rem;font-size:.875rem;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #3b82f633;min-width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center}.generate-btn-small:hover{transform:translateY(-1px);box-shadow:0 4px 8px #3b82f64d}.generate-btn-small:active{transform:translateY(0)}.generate-btn{padding:.75rem 1.5rem;background:linear-gradient(135deg,var(--accent-color),#4f46e5);color:#fff;border:none;border-radius:.75rem;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 6px #3b82f633;white-space:nowrap}.generate-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.generate-btn:active{transform:translateY(0)}.result-container{position:relative;margin-top:1rem}.result-text{width:100%;padding:1rem 1rem 3rem;border:1px solid var(--border-color);border-radius:1rem;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:.9rem;line-height:1.6;resize:vertical;transition:all .2s ease;background:rgba(255,255,255,.9)}.result-text:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #3b82f61a;background:rgba(255,255,255,1)}.result-actions{position:absolute;bottom:.75rem;right:.75rem;display:flex;gap:.5rem;z-index:10}@media (max-width: 768px){.controls-row{flex-direction:column;align-items:center;gap:1rem;justify-content:center}.type-checkboxes{justify-content:center;gap:.5rem}.checkbox-item{min-width:60px;justify-content:center}.length-control{justify-content:center}.generate-btn-small{min-width:2rem;height:2rem;font-size:.75rem}}.app{min-height:100vh;background-color:var(--bg-secondary)}:root{--bg-primary: #ffffff;--bg-secondary: #fafbfc;--bg-tertiary: #f5f7fa;--bg-hover: #f0f4f8;--border-color: #e8ecf0;--border-light: #f1f5f9;--text-primary: #1a1d29;--text-secondary: #6b7280;--text-tertiary: #9ca3af;--accent-color: #6366f1;--accent-primary: #6366f1;--accent-hover: #5b21b6;--accent-light: #ede9fe;--success-color: #10b981;--success-light: #d1fae5;--warning-color: #f59e0b;--warning-light: #fef3c7;--error-color: #ef4444;--error-light: #fee2e2;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-accent: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);--gradient-subtle: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);--radius-sm: 6px;--radius: 12px;--radius-lg: 16px;--radius-xl: 24px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-secondary);color:var(--text-primary);line-height:1.6}#root{min-height:100vh}button{cursor:pointer;border:none;font-family:inherit;transition:all .2s ease-in-out}button:disabled{cursor:not-allowed;opacity:.6}a{text-decoration:none;color:inherit}select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%236b7280'%3E%3Cpath d='M4.427 6.573L8 10.146l3.573-3.573a.5.5 0 01.707.707l-3.927 3.927a.5.5 0 01-.707 0L3.72 7.28a.5.5 0 11.707-.707z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:12px;padding-right:2.5rem!important}select:focus{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%236366f1'%3E%3Cpath d='M4.427 6.573L8 10.146l3.573-3.573a.5.5 0 01.707.707l-3.927 3.927a.5.5 0 01-.707 0L3.72 7.28a.5.5 0 11.707-.707z'/%3E%3C/svg%3E")}@keyframes copyFeedback{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.05)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}*:focus{outline:2px solid var(--accent-color);outline-offset:2px}*:focus:not(:focus-visible){outline:none}*:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}@media (prefers-contrast: high){:root{--bg-primary: #ffffff;--bg-secondary: #f0f0f0;--text-primary: #000000;--text-secondary: #333333;--border-color: #000000;--accent-color: #0000ff}*:focus{outline-width:3px;outline-color:#000}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
