:root,[data-theme=dark]{--primary-color: #6366f1;--primary-dark: #4f46e5;--primary-light: #818cf8;--secondary-color: #8b5cf6;--accent-color: #ec4899;--bg-dark: #1e1e2e;--bg-darker: #16161e;--bg-light: #2a2a3e;--border-color: #3a3a4e;--text-primary: #e0e0e0;--text-secondary: #a0a0a0;--text-muted: #6b7280;--success-color: #16a34a;--success-bg: rgba(22, 163, 74, .15);--success-text: #22c55e;--error-color: #ef4444;--error-bg: rgba(239, 68, 68, .15);--error-text: #dc2626;--warning-color: #ffb347;--warning-bg: rgba(255, 179, 71, .15);--info-color: #3b82f6;--info-bg: rgba(59, 130, 246, .15);--accent-primary: #ec4899;--accent-focus: rgba(236, 72, 153, .3);--shadow-soft: rgba(0, 0, 0, .2);--shadow-strong: rgba(0, 0, 0, .4);--header-bg: rgba(26, 26, 36, .88);--font-mono: "JetBrains Mono", "SF Mono", "Menlo", "Monaco", "Consolas", "Courier New", monospace;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--transition: background-color .2s cubic-bezier(.4, 0, .2, 1), border-color .2s cubic-bezier(.4, 0, .2, 1), color .2s cubic-bezier(.4, 0, .2, 1), box-shadow .2s cubic-bezier(.4, 0, .2, 1)}[data-theme=light]{--primary-color: #4f46e5;--primary-dark: #4338ca;--primary-light: #6366f1;--secondary-color: #7c3aed;--accent-color: #db2777;--bg-dark: #f8fafc;--bg-darker: #e2e8f0;--bg-light: #ffffff;--border-color: #d1d5db;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #64748b;--success-color: #16a34a;--success-bg: rgba(22, 163, 74, .1);--success-text: #15803d;--error-color: #dc2626;--error-bg: rgba(220, 38, 38, .1);--error-text: #b91c1c;--warning-color: #d97706;--warning-bg: rgba(217, 119, 6, .1);--info-color: #2563eb;--info-bg: rgba(37, 99, 235, .1);--accent-primary: #db2777;--accent-focus: rgba(219, 39, 119, .25);--shadow-soft: rgba(15, 23, 42, .06);--shadow-strong: rgba(15, 23, 42, .12);--header-bg: rgba(255, 255, 255, .95);--font-mono: "JetBrains Mono", "SF Mono", "Menlo", "Monaco", "Consolas", "Courier New", monospace;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--transition: background-color .2s cubic-bezier(.4, 0, .2, 1), border-color .2s cubic-bezier(.4, 0, .2, 1), color .2s cubic-bezier(.4, 0, .2, 1), box-shadow .2s cubic-bezier(.4, 0, .2, 1)}html[data-theme]{transition:var(--transition)}html[data-theme] *{transition:background-color .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1)!important}html[data-theme] *:not(.theme-transition-skip){transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s}@media (prefers-reduced-motion: reduce){html[data-theme],html[data-theme] *{transition:none!important}}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;scroll-behavior:smooth}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{font-family:var(--font-sans);background:var(--bg-dark);color:var(--text-primary);line-height:1.6;letter-spacing:.3px;min-height:100vh;min-height:100dvh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;-webkit-tap-highlight-color:transparent}#app{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;width:100%}.main-content{flex:1;width:100%}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-dark)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px;transition:var(--transition)}::-webkit-scrollbar-thumb:hover{background:var(--primary-color)}::selection{background:var(--primary-color);color:#fff}:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2}h1{font-size:2.5rem}h2{font-size:1.875rem}h3{font-size:1.5rem}p{color:var(--text-secondary)}a{color:var(--primary-light);text-decoration:none;transition:var(--transition)}a:hover{color:var(--primary-color);text-decoration:underline}.btn{padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:var(--transition);display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:inherit;white-space:nowrap;min-height:44px;line-height:1.2;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;max-width:100%;box-sizing:border-box}.btn-primary{background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:#fff;box-shadow:0 4px 15px #6366f14d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6366f166}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-light);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--border-color);border-color:var(--primary-color);color:var(--primary-light)}.btn-secondary:active{transform:scale(.98)}input,textarea,select{background:var(--bg-light);border:1px solid var(--border-color);color:var(--text-primary);padding:.75rem;border-radius:.5rem;font-family:var(--font-mono);font-size:1rem;transition:var(--transition);box-sizing:border-box;min-height:44px;max-width:100%;width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none}input:focus,textarea:focus,select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--info-bg);outline:none}textarea{resize:vertical;min-height:120px;line-height:1.6;font-size:1rem}input[type=color]{cursor:pointer;width:48px;height:48px;border-radius:.75rem;padding:4px}input[type=checkbox],input[type=radio]{width:18px;height:18px;min-height:auto;accent-color:var(--primary-color);cursor:pointer}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.fade-in{animation:fadeIn .3s ease-out}.slide-in-left{animation:slideInLeft .3s ease-out}.home-page{max-width:1400px;margin:0 auto;padding:2rem;width:100%;box-sizing:border-box}.hero-section{text-align:center;padding:1.5rem 1.5rem 1.75rem;margin-bottom:1.25rem;display:flex;flex-direction:column;align-items:center;gap:.5rem}.hero-section h1{margin:0;font-size:1.75rem;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.tagline{font-size:.95rem;color:var(--text-secondary);margin:0}.tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem;padding:.5rem 0}.tool-card{background:var(--bg-light);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem;transition:var(--transition);text-decoration:none;display:block;min-height:120px}.tool-card:hover{border-color:var(--primary-color);transform:translateY(-3px);box-shadow:0 8px 25px var(--shadow-soft);text-decoration:none}.tool-card h3{margin-bottom:.5rem;color:var(--text-primary);font-size:1.05rem}.tool-card p{font-size:.85rem;line-height:1.6;color:var(--text-secondary)}@media (max-width: 900px){h1{font-size:1.875rem}h2{font-size:1.5rem}.btn{padding:.625rem 1.25rem;font-size:.95rem}.hero-section{padding:1.5rem 1rem 1.25rem}.hero-section h1{font-size:1.5rem}.tagline{font-size:.9rem}.tools-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}}@media (max-width: 640px){h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1.1rem}.btn{padding:.6rem 1rem;font-size:.9rem;min-height:44px}.home-page{padding:1rem}.hero-section{padding:1rem .5rem;margin-bottom:1rem}.hero-section h1{font-size:1.35rem}.tagline{font-size:.85rem}.tools-grid{grid-template-columns:1fr;gap:.75rem}.tool-card{padding:1rem}a[href^="#/tools/"]{min-height:44px;min-width:44px;line-height:1.4}}@media (max-width: 380px){h1{font-size:1.3rem}.btn{padding:.55rem .9rem;font-size:.85rem}}@media (min-width: 1600px){.home-page{max-width:1600px;padding:3rem}}.hero-graphic{display:none}.search-section{position:relative;max-width:720px;margin:0 auto 1.5rem;display:flex;align-items:center;background:var(--bg-light);border:1px solid var(--border-color);border-radius:.75rem;padding:0 .9rem;transition:border-color .2s,box-shadow .2s}.search-section:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f126}.search-label{display:inline-flex;align-items:center;color:var(--text-secondary)}.search-input{flex:1;border:0!important;background:transparent!important;box-shadow:none!important;padding:.9rem .5rem;font-size:1rem;color:var(--text-primary);outline:none;min-height:48px}.search-clear{background:transparent;border:0;color:var(--text-secondary);padding:.25rem .5rem;border-radius:.5rem;cursor:pointer;font-size:1.25rem;line-height:1}.search-clear:hover{background:var(--border-color);color:var(--text-primary)}.category-nav{max-width:1400px;margin:0 auto 1.5rem;display:flex;gap:.5rem;padding:.25rem;overflow-x:auto;scrollbar-width:thin}.category-chip{display:inline-flex;align-items:center;gap:.5rem;background:var(--bg-light);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:999px;padding:.5rem 1rem;font-size:.9rem;cursor:pointer;white-space:nowrap;transition:all .2s;font-family:inherit}.category-chip:hover{border-color:var(--primary-color);color:var(--text-primary)}.category-chip.active{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));border-color:transparent;color:#fff}.tools-by-category{display:flex;flex-direction:column;gap:2.5rem}.tool-group{background:var(--bg-light);border:1px solid var(--border-color);border-radius:1rem;padding:1.5rem}.tool-group-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;color:var(--text-primary)}.tool-group-header h2{font-size:1.25rem;margin:0;flex:1}.tool-group-count{background:var(--bg-dark);color:var(--text-secondary);padding:.15rem .6rem;border-radius:999px;font-size:.8rem}.tool-card{position:relative;background:var(--bg-dark);border:1px solid var(--border-color);border-radius:.75rem;padding:1.25rem;display:flex;align-items:flex-start;gap:1rem;text-decoration:none;transition:all .2s;color:inherit;min-height:96px}.tool-card:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 12px 24px #00000026}.tool-card-icon{flex:0 0 auto;width:48px;height:48px;border-radius:.75rem;display:inline-flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,var(--primary-color),var(--accent-color))}.tool-card-body{flex:1;min-width:0}.tool-card-body h3{font-size:1.05rem;margin:0 0 .35rem;color:var(--text-primary)}.tool-card-body p{font-size:.9rem;line-height:1.5;color:var(--text-secondary);margin:0}.tool-card-fav{position:absolute;top:.75rem;right:.75rem;background:transparent;border:0;color:var(--text-secondary);cursor:pointer;padding:.35rem;border-radius:.5rem;display:inline-flex;align-items:center;justify-content:center;transition:all .2s}.tool-card-fav:hover{color:var(--primary-color);background:#6366f11a}.no-results{text-align:center;padding:3rem 1rem;color:var(--text-secondary)}.no-results h3{margin:1rem 0 0;font-size:1.1rem}.tool-toolbar{background:var(--bg-light);border:1px solid var(--border-color);border-radius:1.1rem;padding:1.25rem 1.5rem;margin-bottom:1.5rem;display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-start;justify-content:space-between;box-shadow:0 4px 16px #00000026}.tool-toolbar-title{flex:1;min-width:200px}.tool-toolbar-title h2{font-size:1.4rem;font-weight:700;margin:0 0 .25rem;color:var(--text-primary);letter-spacing:-.01em;line-height:1.3}.tool-toolbar-title .tool-description{margin:0;font-size:.9rem;color:var(--text-secondary);line-height:1.4}.tool-toolbar-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.btn-sm{padding:.45rem .85rem;font-size:.85rem;min-height:38px;display:inline-flex;align-items:center;gap:.35rem;font-weight:500;border-radius:.5rem;transition:all .2s ease;cursor:pointer;border:1px solid var(--border-color);background:var(--bg-dark);color:var(--text-secondary)}.btn-sm:hover{background:var(--bg-light);color:var(--text-primary)}.btn-xs{padding:.3rem .6rem;font-size:.8rem;min-height:30px;border-radius:.4rem}.tool-toolbar-actions svg,.tool-toolbar-actions .tool-icon{width:16px!important;height:16px!important}.tool-toolbar-actions .btn-primary{background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);border-color:transparent;color:#fff}.tool-icon{display:inline-block;vertical-align:middle;stroke-width:2;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}.history-panel{background:linear-gradient(145deg,var(--bg-light) 0%,var(--bg-dark) 100%);border:1px solid var(--border-color);border-radius:1.25rem;padding:1.25rem 1.5rem;margin-bottom:1.75rem;box-shadow:0 4px 20px #0003}.history-panel.hidden{display:none}.history-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color)}.history-header h3{font-size:1.05rem;font-weight:600;margin:0;color:var(--text-primary)}.history-list{display:flex;flex-direction:column;gap:.65rem;max-height:280px;overflow-y:auto}.history-item{background:#0003;border:1px solid var(--border-color);border-radius:.75rem;padding:.75rem 1rem;transition:all .2s ease}.history-item:hover{background:#6366f114;border-color:#6366f14d;transform:translate(4px)}.history-meta{display:flex;align-items:center;gap:.75rem;margin-bottom:.35rem}.history-time{flex:1;font-size:.8rem;color:var(--text-muted)}.btn-icon{background:transparent;border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-secondary);padding:.3rem .55rem;font-size:.85rem;cursor:pointer;transition:all .2s ease}.btn-icon:hover{color:var(--primary-color);border-color:var(--primary-color);background:#6366f114;transform:translateY(-1px)}.history-preview{font-size:.875rem;font-family:var(--font-mono, monospace);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;padding-top:.25rem}.history-empty{text-align:center;padding:1rem;color:var(--text-muted);font-size:.9rem}.tool-loading{display:flex;flex-direction:column;align-items:center;padding:4rem 2rem;color:var(--text-secondary);gap:1rem}.tool-loading svg{animation:pulse 1.4s infinite}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}.tool-error{background:var(--bg-light);border:1px solid var(--border-color);border-radius:1rem;padding:2rem;text-align:center}.tool-error h2{color:var(--text-primary);margin-top:0}.toast-notification{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%) translateY(1rem);background:var(--text-primary);color:var(--bg-dark);padding:.75rem 1.25rem;border-radius:999px;font-size:.9rem;box-shadow:0 10px 30px #00000040;opacity:0;pointer-events:none;transition:all .25s ease;z-index:100;max-width:calc(100% - 2rem);text-align:center}.toast-notification.toast-visible{opacity:1;transform:translate(-50%) translateY(0)}.shortcut-help{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.shortcut-help.hidden{display:none}.shortcut-help-backdrop{position:absolute;inset:0;background:#00000080}.shortcut-help-panel{position:relative;background:var(--bg-light);color:var(--text-primary);border:1px solid var(--border-color);border-radius:1rem;width:100%;max-width:480px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000059}.shortcut-help-panel header{padding:1rem 1.25rem;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.shortcut-help-panel header h2{font-size:1.1rem;margin:0}.shortcut-help-list{padding:1rem 1.25rem;overflow-y:auto}.shortcut-help-row{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;font-size:.9rem}kbd{display:inline-block;background:var(--bg-dark);border:1px solid var(--border-color);border-bottom-width:2px;border-radius:.35rem;padding:.15rem .5rem;font-family:var(--font-mono, monospace);font-size:.8rem;color:var(--text-primary);min-width:28px;text-align:center}.tool-page-wrapper{max-width:1400px;margin:0 auto;padding:1.75rem 1.5rem 3.5rem}.tool-container{display:flex;flex-direction:column;gap:.875rem}.tool-content{background:var(--bg-light);border:1px solid var(--border-color);border-radius:1rem;padding:1.25rem;width:100%;min-width:0;box-sizing:border-box}.header{position:sticky;top:0;z-index:50;background:#1a1a24eb;backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--border-color)}[data-theme=light] .header{background:#ffffffeb}.header>div:first-child,.header>*:first-child{display:flex;align-items:center;gap:.75rem}.header-right{display:flex;align-items:center;gap:.75rem;margin-left:auto}.nav-sticky-wrapper{position:sticky;top:64px;z-index:40;background:#1a1a24f2;backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--border-color)}[data-theme=light] .nav-sticky-wrapper{background:#fffffff2}.nav-bar{max-width:1400px;margin:0 auto;display:flex;gap:.35rem;padding:.875rem 1.25rem;overflow-x:auto;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.nav-tool-btn{flex:0 0 auto;background:transparent;color:var(--text-secondary);text-decoration:none;padding:.6rem 1.1rem;border-radius:.65rem;font-size:.925rem;font-weight:500;white-space:nowrap;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);border:1px solid transparent}.nav-tool-btn:hover{background:var(--bg-light);color:var(--text-primary);border-color:var(--border-color);transform:translateY(-1px)}.nav-tool-btn.active{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;border-color:transparent;box-shadow:0 4px 16px #6366f166;transform:translateY(-1px)}@media (max-width: 900px){.tool-toolbar{flex-direction:column;align-items:flex-start;padding:1rem}.tool-toolbar-actions{width:100%;justify-content:flex-start}.tool-group{padding:1rem}.category-nav{margin-bottom:1rem}}@media (max-width: 640px){.tool-page-wrapper{padding:1rem 1rem 2rem}.tools-grid{grid-template-columns:1fr;gap:.75rem}.tool-card{padding:1rem;min-height:72px}.tool-card-icon{width:40px;height:40px}.tool-content{padding:1rem}.hero-section{padding:2rem 1rem 1.5rem}.hero-section h1{font-size:1.75rem}.tagline{font-size:.95rem}.tool-toolbar-title h2{font-size:1.2rem}.btn-sm{padding:.4rem .7rem;font-size:.8rem}.nav-sticky-wrapper{top:56px}}@media (max-width: 380px){.btn-sm{font-size:.75rem}.tool-card-body h3{font-size:.95rem}.tool-card-body p{font-size:.8rem}}@media (min-width: 1600px){.tool-page-wrapper{max-width:1500px}.tools-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}}.tool-card:focus-visible,.category-chip:focus-visible,.tool-toolbar .btn:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.hidden{display:none!important}.bookmark-reminder{position:fixed;top:80px;left:50%;transform:translate(-50%);z-index:1000;width:90%;max-width:560px;background:linear-gradient(145deg,var(--bg-light) 0%,var(--bg-dark) 100%);border:1px solid var(--border-color);border-radius:20px;box-shadow:0 25px 80px #0006,0 0 0 1px #6366f11a;animation:slideDown .5s cubic-bezier(.34,1.56,.64,1);overflow:hidden;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);min-height:140px}.bookmark-reminder-glow{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 25% 25%,rgba(99,102,241,.15) 0%,rgba(139,92,246,.08) 30%,transparent 60%);pointer-events:none}@keyframes slideDown{0%{opacity:0;transform:translate(-50%) translateY(-40px) scale(.92)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.bookmark-reminder-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:flex-start;-ms-flex-align:flex-start;align-items:flex-start;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;gap:20px;padding:20px;position:relative}.bookmark-reminder-icon-wrapper{position:relative;flex-shrink:0;-ms-flex-negative:0;width:64px;flex-basis:64px}.bookmark-reminder-icon{width:64px;height:64px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;background:linear-gradient(135deg,#6366f1,#8b5cf6,#ec4899);border-radius:20px;color:#fff;box-shadow:0 10px 40px #6366f180,0 0 0 4px #6366f126;position:relative;z-index:1;-webkit-transition:transform .3s ease,box-shadow .3s ease;transition:transform .3s ease,box-shadow .3s ease}.bookmark-reminder-icon:hover{transform:scale(1.05);box-shadow:0 15px 50px #6366f199,0 0 0 4px #6366f133}.bookmark-reminder-icon-pulse{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:64px;height:64px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:20px;animation:pulseGlow 2.5s ease-in-out infinite;filter:blur(8px)}@keyframes pulseGlow{0%,to{opacity:0;transform:translate(-50%,-50%) scale(1)}50%{opacity:.4;transform:translate(-50%,-50%) scale(1.3)}}.bookmark-reminder-icon svg{width:32px;height:32px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.bookmark-reminder-body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex-positive:1;flex:1;min-width:0;gap:12px}.bookmark-reminder-text{min-width:0}.bookmark-reminder-title{display:block;font-weight:700;font-size:1.25rem;color:var(--text-primary);margin-bottom:6px;letter-spacing:-.02em;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bookmark-reminder-desc{display:block;font-size:.925rem;color:var(--text-secondary);margin-bottom:10px;line-height:1.5}.bookmark-reminder-shortcut{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;font-size:.825rem;-ms-flex-wrap:wrap;flex-wrap:wrap}.shortcut-label{color:var(--text-muted);font-weight:500;font-size:.8rem}.shortcut-keys{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px}.shortcut-keys kbd{background:linear-gradient(145deg,var(--bg-darker),#1a1a2e);padding:5px 10px;border-radius:8px;font-family:var(--font-mono);font-size:.775rem;font-weight:600;color:var(--text-primary);border:1px solid var(--border-color);box-shadow:0 2px 8px #0000004d,inset 0 1px #ffffff0d;min-width:28px;text-align:center;-webkit-transition:all .2s ease;transition:all .2s ease}.shortcut-keys kbd:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0006,inset 0 1px #ffffff14}.shortcut-keys .plus{color:var(--text-muted);font-size:.725rem;font-weight:500}.bookmark-reminder-or{color:var(--text-muted);font-weight:500;font-size:.8rem}.bookmark-reminder-browser{color:var(--primary-color);font-weight:600;font-size:.825rem}.bookmark-reminder-actions{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;gap:8px;flex-shrink:0;-ms-flex-negative:0;min-width:0}.bookmark-reminder-actions .btn{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;padding:10px 16px;font-weight:600;font-size:.85rem;border-radius:12px;-webkit-transition:all .25s cubic-bezier(.4,0,.2,1);transition:all .25s cubic-bezier(.4,0,.2,1);cursor:pointer;border:none;outline:none;white-space:nowrap}.bookmark-reminder-actions .btn-primary{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;box-shadow:0 4px 20px #6366f166,inset 0 1px #ffffff1a}.bookmark-reminder-actions .btn-primary:hover{transform:translateY(-3px);box-shadow:0 8px 30px #6366f180,inset 0 1px #ffffff26}.bookmark-reminder-actions .btn-primary:active{transform:translateY(-1px)}.bookmark-reminder-actions .btn-outline{background:transparent;border:1.5px solid var(--border-color);color:var(--text-secondary)}.bookmark-reminder-actions .btn-outline:hover{background:#6366f114;border-color:var(--primary-color);color:var(--text-primary);transform:translateY(-2px)}.bookmark-reminder-actions .btn-ghost{background:transparent;border:none;color:var(--text-muted);padding:10px 12px}.bookmark-reminder-actions .btn-ghost:hover{color:var(--text-secondary);text-decoration:underline;text-underline-offset:4px}.btn-icon{width:14px;height:14px}.bookmark-reminder-close{position:absolute;top:12px;right:12px;background:#ffffff0d;border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;padding:6px;border-radius:10px;width:32px;height:32px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-transition:all .25s cubic-bezier(.4,0,.2,1);transition:all .25s cubic-bezier(.4,0,.2,1)}.bookmark-reminder-close:hover{background:#ef444426;border-color:#ef44444d;color:#ef4444;transform:rotate(90deg)}.bookmark-reminder-close svg{width:16px;height:16px}.bookmark-instructions{position:fixed;inset:0;z-index:1001;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease-out;padding:24px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.bookmark-instructions-backdrop{position:absolute;inset:0;background:#000000b3;backdrop-filter:blur(8px)}.bookmark-instructions-panel{position:relative;background:linear-gradient(145deg,var(--bg-light) 0%,var(--bg-dark) 100%);border:1px solid var(--border-color);border-radius:24px;padding:0;width:100%;max-width:440px;animation:scaleIn .4s cubic-bezier(.34,1.56,.64,1);overflow:hidden;box-shadow:0 30px 100px #00000080}@keyframes scaleIn{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}.bookmark-instructions-header{display:flex;align-items:center;gap:16px;padding:28px;background:linear-gradient(135deg,#6366f11f,#8b5cf614);border-bottom:1px solid var(--border-color)}.instructions-icon{width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:16px;color:#fff;flex-shrink:0;box-shadow:0 8px 25px #6366f166}.instructions-icon svg{width:26px;height:26px}.bookmark-instructions-header h3{flex:1;margin:0;font-size:1.25rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.instructions-close{background:#ffffff0d;border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;padding:8px;border-radius:10px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;transition:all .25s ease}.instructions-close:hover{background:#ef444426;border-color:#ef44444d;color:#ef4444}.instructions-close svg{width:16px;height:16px}.bookmark-instructions-content{padding:28px}.bookmark-instruction-step{display:flex;align-items:flex-start;gap:20px;margin-bottom:24px;font-size:.95rem;color:var(--text-secondary)}.bookmark-instruction-step:last-child{margin-bottom:0}.step-icon{width:40px;height:40px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;flex-shrink:0;box-shadow:0 6px 20px #6366f166,inset 0 1px #ffffff26}.step-content{flex:1;line-height:1.7;padding-top:4px}.bookmark-instructions-footer{padding:0 28px 28px}.bookmark-instructions-footer .btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:16px 32px;font-weight:600;font-size:.95rem;border-radius:14px;background:linear-gradient(135deg,#6366f1,#4f46e5);border:none;color:#fff;box-shadow:0 6px 24px #6366f173,inset 0 1px #ffffff1a;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1)}.bookmark-instructions-footer .btn:hover{transform:translateY(-3px);box-shadow:0 10px 35px #6366f18c,inset 0 1px #ffffff26}@media (max-width: 640px){.bookmark-reminder{top:70px;max-width:calc(100% - 24px);border-radius:18px}.bookmark-reminder-content{flex-direction:column;align-items:flex-start;gap:20px;padding:20px}.bookmark-reminder-text{width:100%}.bookmark-reminder-actions{width:100%;justify-content:flex-end;gap:8px}.bookmark-reminder-actions .btn{padding:10px 16px;font-size:.825rem}.bookmark-reminder-icon{width:56px;height:56px}.bookmark-reminder-icon svg{width:28px;height:28px}.bookmark-reminder-title{font-size:1.15rem}.bookmark-reminder-shortcut{gap:8px}.shortcut-keys kbd{padding:5px 10px;font-size:.75rem;min-width:28px}.bookmark-instructions-panel{border-radius:20px}.bookmark-instructions-header{padding:22px}.instructions-icon{width:44px;height:44px}.instructions-icon svg{width:22px;height:22px}.bookmark-instructions-content{padding:22px}.bookmark-instruction-step{gap:16px;margin-bottom:20px;font-size:.9rem}.step-icon{width:36px;height:36px;font-size:.9rem}}@media (max-width: 480px){.bookmark-reminder-actions{gap:6px}.bookmark-reminder-actions .btn{padding:8px 12px;font-size:.775rem;gap:6px}.shortcut-keys kbd{padding:4px 8px;font-size:.7rem;min-width:24px}.bookmark-instructions-header h3{font-size:1.15rem}}.header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.5rem;background:var(--header-bg);backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:100;box-shadow:0 2px 20px var(--shadow-soft);gap:1rem;box-sizing:border-box;width:100%}.header-logo{display:flex;align-items:center;gap:1.5rem;flex:1 1 auto;min-width:0}.logo-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:linear-gradient(135deg,#6366f11a,#8b5cf61a);border-radius:.5rem;flex-shrink:0}.logo-icon svg{width:100%;height:100%;filter:drop-shadow(0 2px 8px rgba(99,102,241,.3))}.logo-text{display:flex;align-items:center;gap:.75rem;min-width:0}.site-title{font-size:1.25rem;font-weight:700;background:linear-gradient(135deg,#818cf8,#c084fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.3px;line-height:1;white-space:nowrap}.site-tagline{display:none}.lang-selector{display:flex;gap:.25rem;align-items:center;flex-shrink:0}.lang-btn{padding:.375rem .625rem;background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);border-radius:.375rem;cursor:pointer;font-weight:600;font-size:.75rem;min-height:36px;transition:var(--transition);-webkit-user-select:none;user-select:none}.lang-btn:hover{border-color:var(--primary-color);color:var(--primary-light)}.lang-btn.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff;box-shadow:0 4px 12px var(--shadow-soft)}.theme-toggle-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);border-radius:.5rem;cursor:pointer;transition:var(--transition);line-height:1;-webkit-user-select:none;user-select:none;flex-shrink:0}.theme-toggle-btn:hover{border-color:var(--primary-color);color:var(--primary-light);background:var(--info-bg)}.theme-toggle-btn:active{transform:scale(.95)}.theme-toggle-btn svg{width:20px;height:20px;display:block}.theme-toggle-btn[data-resolved-theme=dark]{background:#ffffff08}.theme-toggle-btn[data-resolved-theme=light]{background:#00000008}@media (max-width: 900px){.header{padding:.75rem 1rem;gap:.75rem}.header-logo{gap:1rem}.logo-icon{width:36px;height:36px}.site-title{font-size:1.125rem}.lang-btn{padding:.35rem .5rem;font-size:.72rem;min-height:34px}.theme-toggle-btn{width:40px;height:40px}.theme-toggle-btn svg{width:18px;height:18px}}@media (max-width: 720px){.header{padding:.625rem .875rem;gap:.5rem}.header-logo{gap:.75rem}.logo-icon{width:34px;height:34px}.site-title{font-size:1rem}.lang-btn{padding:.35rem .5rem;font-size:.7rem;min-height:34px}.theme-toggle-btn{width:38px;height:38px;border-radius:.4rem}.theme-toggle-btn svg{width:18px;height:18px}}@media (max-width: 480px){.header{padding:.5rem .625rem;gap:.35rem}.header-logo{gap:.5rem}.logo-icon{width:32px;height:32px}.site-title{font-size:.95rem}.lang-selector{gap:.15rem}.lang-btn{padding:.3rem .4rem;font-size:.65rem;min-height:32px}.theme-toggle-btn{width:36px;height:36px}.theme-toggle-btn svg{width:16px;height:16px}}@media (max-height: 480px) and (orientation: landscape){.header{padding:.5rem 1rem}}.nav-sticky-wrapper{position:sticky;top:var(--nav-top-offset, 60px);z-index:90;width:100%;--nav-fade-left: 0;--nav-fade-right: 1}.nav-sticky-wrapper:after{content:"";position:absolute;right:0;top:0;bottom:0;width:40px;background:linear-gradient(to right,transparent,var(--header-bg));pointer-events:none;opacity:var(--nav-fade-right, 1);transition:opacity .2s ease;z-index:2}.nav-sticky-wrapper:before{content:"";position:absolute;left:0;top:0;bottom:0;width:40px;background:linear-gradient(to left,transparent,var(--header-bg));pointer-events:none;opacity:var(--nav-fade-left, 0);transition:opacity .2s ease;z-index:2}.nav-bar{display:flex;overflow-x:auto;overflow-y:hidden;padding:.625rem 1rem;background:var(--header-bg);border-bottom:1px solid var(--border-color);gap:.5rem;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:none;-ms-overflow-style:none;white-space:nowrap;box-shadow:0 1px 3px #0000000f}.nav-bar::-webkit-scrollbar{height:0;display:none}.tools-container{display:flex;gap:.5rem;min-width:min-content;padding:0 2px}.nav-tool-btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem .875rem;min-height:40px;min-width:44px;background:var(--bg-light);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:9999px;cursor:pointer;font-weight:600;font-size:.875rem;white-space:nowrap;transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .1s ease,box-shadow .15s ease;font-family:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;user-select:none;-webkit-user-select:none;flex-shrink:0}.nav-tool-btn:hover{background:var(--border-color);border-color:var(--primary-color);color:var(--primary-light);transform:translateY(-1px);box-shadow:0 2px 8px #6366f126}.nav-tool-btn:active{transform:translateY(0)}.nav-tool-btn.active{background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);border-color:var(--primary-color);color:#fff;box-shadow:0 4px 14px #6366f159;font-weight:700}@media (max-width: 900px){.nav-bar{padding:.5rem .875rem;gap:.5rem}.tools-container{gap:.5rem}.nav-tool-btn{padding:.5rem .85rem;font-size:.85rem;min-height:42px;min-width:44px}}@media (max-width: 640px){.nav-bar{padding:.5rem .625rem;gap:.375rem;scrollbar-width:none}.nav-bar::-webkit-scrollbar{display:none}.tools-container{gap:.4rem;padding:0 2px}.nav-tool-btn{padding:.55rem .75rem;min-height:44px;min-width:48px;font-size:.8rem;line-height:1}.nav-tool-btn.active{box-shadow:0 3px 12px #6366f166}}@media (max-width: 380px){.nav-bar{padding:.45rem .5rem;gap:.3rem}.tools-container{gap:.35rem}.nav-tool-btn{padding:.5rem .6rem;min-height:44px;min-width:44px;font-size:.75rem}}@media (max-height: 500px) and (orientation: landscape){.nav-bar{padding:.375rem .75rem}.nav-tool-btn{min-height:44px;padding:.4rem .7rem;font-size:.78rem}}@media (prefers-reduced-motion: reduce){.nav-bar{scroll-behavior:auto}.nav-tool-btn{transition:none}}.footer{margin-top:auto;padding:2rem;background:var(--header-bg);border-top:1px solid var(--border-color);text-align:center;font-size:.9rem}.footer-content{max-width:1400px;margin:0 auto;display:flex;flex-direction:column;gap:1rem;align-items:center}.footer-content p{color:var(--text-secondary)}.footer-links{display:flex;gap:2rem;justify-content:center;flex-wrap:wrap}.footer-links a{color:var(--primary-light);transition:var(--transition)}.footer-links a:hover{color:var(--primary-color)}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:var(--bg-dark);border-radius:.75rem;border:1px solid var(--border-color);max-width:700px;width:100%;max-height:80vh;overflow-y:auto;animation:modalFadeIn .2s ease-out}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-color)}.modal-header h3{margin:0;color:var(--text-primary)}.modal-close{background:none;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;transition:var(--transition)}.modal-close:hover{color:var(--text-primary)}.modal-body{padding:1.5rem;color:var(--text-secondary);line-height:1.6}.modal-body h4{color:var(--text-primary);margin-top:1.25rem;margin-bottom:.5rem}.modal-body p{margin:.5rem 0}.modal-body h4:first-child{margin-top:0}@media (max-width: 480px){.footer{padding:1rem}.footer-links{gap:1rem;font-size:.85rem}.footer-content p{font-size:.85rem}.modal-content{max-height:90vh}.modal-header,.modal-body{padding:1rem}}
