:root,[data-theme=cyber-dark]{--bg-main: #0b0f19;--bg-subtle: #0f172a;--bg-surface: #141e33;--bg-surface-hover: #1a2744;--bg-surface-active: #223254;--bg-glass: rgba(20, 30, 51, .75);--bg-glass-strong: rgba(15, 23, 42, .85);--bg-overlay: rgba(5, 8, 16, .8);--border-subtle: rgba(255, 255, 255, .07);--border-default: rgba(255, 255, 255, .12);--border-hover: rgba(56, 189, 248, .35);--border-focus: #38bdf8;--text-primary: #f8fafc;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--text-dim: #64748b;--accent: #38bdf8;--accent-hover: #0284c7;--accent-surface: rgba(56, 189, 248, .12);--accent-border: rgba(56, 189, 248, .28);--accent-glow: rgba(56, 189, 248, .25);--success: #10b981;--success-hover: #059669;--success-surface: rgba(16, 185, 129, .12);--success-border: rgba(16, 185, 129, .28);--success-glow: rgba(16, 185, 129, .25);--warning: #f59e0b;--warning-hover: #d97706;--warning-surface: rgba(245, 158, 11, .12);--warning-border: rgba(245, 158, 11, .28);--warning-glow: rgba(245, 158, 11, .25);--danger: #f43f5e;--danger-hover: #e11d48;--danger-surface: rgba(244, 63, 94, .12);--danger-border: rgba(244, 63, 94, .28);--danger-glow: rgba(244, 63, 94, .25);--indigo: #6366f1;--indigo-surface: rgba(99, 102, 241, .12);--indigo-border: rgba(99, 102, 241, .28);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .4);--shadow-md: 0 4px 12px -2px rgba(0, 0, 0, .5), 0 2px 6px -2px rgba(0, 0, 0, .4);--shadow-lg: 0 12px 28px -4px rgba(0, 0, 0, .6), 0 4px 12px -2px rgba(0, 0, 0, .4);--shadow-glow: 0 0 24px -4px var(--accent-glow);--shadow-card-hover: 0 12px 32px -8px rgba(0, 0, 0, .65), 0 0 20px 0 var(--accent-glow);--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", "Consolas", monospace;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--bg: var(--bg-main);--card: var(--bg-surface);--line: var(--border-default);--fg: var(--text-primary);--dim: var(--text-muted);--ok: var(--success);--warn: var(--warning);--err: var(--danger)}[data-theme=matrix-green]{--bg-main: #060b08;--bg-subtle: #0a130e;--bg-surface: #0f1c15;--bg-surface-hover: #15271d;--bg-surface-active: #1c3327;--bg-glass: rgba(15, 28, 21, .8);--bg-glass-strong: rgba(10, 19, 14, .9);--bg-overlay: rgba(4, 8, 6, .85);--border-subtle: rgba(16, 185, 129, .1);--border-default: rgba(16, 185, 129, .18);--border-hover: rgba(52, 211, 153, .45);--border-focus: #10b981;--text-primary: #ecfdf5;--text-secondary: #a7f3d0;--text-muted: #6ee7b7;--text-dim: #059669;--accent: #10b981;--accent-hover: #059669;--accent-surface: rgba(16, 185, 129, .14);--accent-border: rgba(16, 185, 129, .32);--accent-glow: rgba(16, 185, 129, .3);--shadow-glow: 0 0 24px -4px rgba(16, 185, 129, .35);--shadow-card-hover: 0 12px 32px -8px rgba(0, 0, 0, .7), 0 0 20px 0 rgba(16, 185, 129, .3)}[data-theme=aurora-violet]{--bg-main: #0c0817;--bg-subtle: #120d24;--bg-surface: #191233;--bg-surface-hover: #221a44;--bg-surface-active: #2d225a;--bg-glass: rgba(25, 18, 51, .8);--bg-glass-strong: rgba(18, 13, 36, .9);--bg-overlay: rgba(6, 4, 12, .85);--border-subtle: rgba(168, 85, 247, .1);--border-default: rgba(168, 85, 247, .18);--border-hover: rgba(192, 132, 252, .45);--border-focus: #a855f7;--text-primary: #faf5ff;--text-secondary: #e9d5ff;--text-muted: #c084fc;--text-dim: #9333ea;--accent: #a855f7;--accent-hover: #9333ea;--accent-surface: rgba(168, 85, 247, .14);--accent-border: rgba(168, 85, 247, .32);--accent-glow: rgba(168, 85, 247, .3);--shadow-glow: 0 0 24px -4px rgba(168, 85, 247, .35);--shadow-card-hover: 0 12px 32px -8px rgba(0, 0, 0, .7), 0 0 20px 0 rgba(168, 85, 247, .3)}[data-theme=tokyo-amber]{--bg-main: #140e14;--bg-subtle: #1c141d;--bg-surface: #261b27;--bg-surface-hover: #322334;--bg-surface-active: #402c42;--bg-glass: rgba(38, 27, 39, .8);--bg-glass-strong: rgba(28, 20, 29, .9);--bg-overlay: rgba(10, 6, 10, .85);--border-subtle: rgba(249, 115, 22, .1);--border-default: rgba(249, 115, 22, .18);--border-hover: rgba(251, 146, 60, .45);--border-focus: #f97316;--text-primary: #fff7ed;--text-secondary: #fed7aa;--text-muted: #fb923c;--text-dim: #ea580c;--accent: #f97316;--accent-hover: #ea580c;--accent-surface: rgba(249, 115, 22, .14);--accent-border: rgba(249, 115, 22, .32);--accent-glow: rgba(249, 115, 22, .3);--shadow-glow: 0 0 24px -4px rgba(249, 115, 22, .35);--shadow-card-hover: 0 12px 32px -8px rgba(0, 0, 0, .7), 0 0 20px 0 rgba(249, 115, 22, .3)}[data-theme=clean-light]{--bg-main: #f8fafc;--bg-subtle: #f1f5f9;--bg-surface: #ffffff;--bg-surface-hover: #f8fafc;--bg-surface-active: #f1f5f9;--bg-glass: rgba(255, 255, 255, .88);--bg-glass-strong: rgba(255, 255, 255, .96);--bg-overlay: rgba(15, 23, 42, .4);--border-subtle: rgba(0, 0, 0, .06);--border-default: rgba(0, 0, 0, .12);--border-hover: rgba(2, 132, 199, .4);--border-focus: #0284c7;--text-primary: #0f172a;--text-secondary: #334155;--text-muted: #64748b;--text-dim: #94a3b8;--accent: #0284c7;--accent-hover: #0369a1;--accent-surface: rgba(2, 132, 199, .1);--accent-border: rgba(2, 132, 199, .28);--accent-glow: rgba(2, 132, 199, .2);--success: #10b981;--success-hover: #059669;--success-surface: rgba(16, 185, 129, .1);--success-border: rgba(16, 185, 129, .25);--success-glow: rgba(16, 185, 129, .15);--warning: #d97706;--warning-hover: #b45309;--warning-surface: rgba(217, 119, 6, .1);--warning-border: rgba(217, 119, 6, .25);--warning-glow: rgba(217, 119, 6, .15);--danger: #e11d48;--danger-hover: #be123c;--danger-surface: rgba(225, 29, 72, .1);--danger-border: rgba(225, 29, 72, .25);--danger-glow: rgba(225, 29, 72, .15);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px -2px rgba(0, 0, 0, .08), 0 2px 6px -2px rgba(0, 0, 0, .04);--shadow-lg: 0 12px 28px -4px rgba(0, 0, 0, .12), 0 4px 12px -2px rgba(0, 0, 0, .06);--shadow-glow: 0 0 20px -4px rgba(2, 132, 199, .25);--shadow-card-hover: 0 12px 28px -4px rgba(0, 0, 0, .12), 0 0 16px 0 rgba(2, 132, 199, .2)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:15px;line-height:1.5;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;color-scheme:dark}body{min-height:100vh;background-color:var(--bg-main);background-image:radial-gradient(ellipse 80% 50% at 50% -20%,var(--accent-surface),transparent),radial-gradient(ellipse 60% 40% at 90% 100%,var(--indigo-surface, rgba(99, 102, 241, .05)),transparent);background-attachment:fixed;color:var(--text-primary);font-family:var(--font-sans);overflow-x:hidden;transition:background-color var(--transition-normal),color var(--transition-normal)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-main)}::-webkit-scrollbar-thumb{background:var(--bg-surface-active);border-radius:var(--radius-full);border:2px solid var(--bg-main)}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}a{color:var(--accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:#7dd3fc}button{font-family:inherit;font-size:inherit;border:none;background:transparent;cursor:pointer;outline:none}input,select,textarea{font-family:inherit;font-size:inherit}code,kbd,samp,pre{font-family:var(--font-mono)}::selection{background:#38bdf84d;color:#fff}#root{min-height:100vh;display:flex;flex-direction:column}.main-scroll{flex:1;width:100%;max-width:1140px;margin:0 auto;padding:24px 20px 80px}@media (max-width: 640px){.main-scroll{padding:16px 14px 80px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 15px -3px var(--accent-glow)}50%{box-shadow:0 0 25px 2px var(--accent-glow)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.animate-fade-in{animation:fadeIn var(--transition-normal) ease-out forwards}.animate-scale-in{animation:scaleIn var(--transition-normal) cubic-bezier(.16,1,.3,1) forwards}.animate-slide-down{animation:slideDown var(--transition-normal) ease-out forwards}.animate-slide-up{animation:slideUp var(--transition-normal) ease-out forwards}.animate-spin{animation:spin 1s linear infinite}.animate-shake{animation:shake .4s ease-in-out}.page{display:flex;flex-direction:column;gap:20px;animation:fadeIn var(--transition-normal) ease-out}.page h2{font-size:24px;font-weight:700;letter-spacing:-.02em;color:var(--text-primary);display:flex;align-items:center;gap:10px}.page h3{font-size:16px;font-weight:600;letter-spacing:-.01em;color:var(--text-primary)}.page-center{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:radial-gradient(circle at 50% 30%,rgba(56,189,248,.08),transparent 60%)}.center{display:flex;align-items:center;justify-content:center}.stack{display:flex;flex-direction:column;gap:14px}.card,.box{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm);transition:border-color var(--transition-normal),box-shadow var(--transition-normal),transform var(--transition-normal);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:relative;max-width:100%;box-sizing:border-box}.card:hover,.box:hover{border-color:#ffffff2e}.box{display:flex;flex-direction:column;gap:14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:500;font-size:13.5px;line-height:1;padding:9px 16px;border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--bg-surface-hover);color:var(--text-primary);box-shadow:var(--shadow-sm);transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;white-space:nowrap}.btn:hover:not(:disabled){background:var(--bg-surface-active);border-color:var(--border-hover);color:#fff;transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm)}.btn.primary{background:linear-gradient(135deg,#38bdf8,#0284c7);color:#041b2d;border-color:#38bdf880;font-weight:600;box-shadow:0 2px 10px -2px #38bdf866}.btn.primary:hover:not(:disabled){background:linear-gradient(135deg,#7dd3fc,#0369a1);box-shadow:0 4px 16px -2px #38bdf899}.btn.secondary{background:var(--bg-surface);border-color:var(--border-default);color:var(--text-secondary)}.btn.danger{background:var(--danger-surface);border-color:var(--danger-border);color:var(--danger)}.btn.danger:hover:not(:disabled){background:var(--danger);border-color:var(--danger);color:#fff;box-shadow:0 4px 16px -2px #f43f5e80}.btn.ghost{background:transparent;border-color:transparent;box-shadow:none;color:var(--text-muted)}.btn.ghost:hover:not(:disabled){background:var(--bg-surface-hover);color:var(--text-primary)}.btn.mini{padding:5px 10px;font-size:12px;border-radius:var(--radius-sm)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none!important;box-shadow:none!important}.form{max-width:440px;width:100%;display:flex;flex-direction:column;gap:18px;background:var(--bg-glass-strong);border:1px solid var(--border-default);border-radius:var(--radius-xl);padding:32px 28px;box-shadow:var(--shadow-lg),0 0 40px -10px #000000b3;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-sizing:border-box}.form h1{font-size:22px;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.form label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:500;color:var(--text-muted)}input,select,textarea{width:100%;background:#0b0f19bf;border:1px solid var(--border-default);color:var(--text-primary);border-radius:var(--radius-md);padding:10px 14px;font-size:14px;transition:all var(--transition-fast);outline:none;box-sizing:border-box;max-width:100%}input::placeholder,textarea::placeholder{color:var(--text-dim)}input:hover,select:hover,textarea:hover{border-color:#fff3}input:focus,select:focus,textarea:focus{border-color:var(--accent);background:#0b0f19f2;box-shadow:0 0 0 3px var(--accent-surface)}.form-inline{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.form-inline input,.form-inline select{min-width:160px;flex:1}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid input,.form-grid .btn,.form-grid select{grid-column:span 1}@media (max-width: 600px){.form-grid{grid-template-columns:1fr}.form-grid input,.form-grid .btn,.form-grid select{grid-column:span 1!important}}.checkrow{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.checkrow input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);cursor:pointer;margin:0;flex-shrink:0}.msg{font-size:13.5px;line-height:1.6;border-radius:var(--radius-md);padding:12px 16px;border:1px solid var(--border-default);background:var(--bg-surface);animation:fadeIn var(--transition-fast) ease-out;word-break:break-word}.msg.ok{color:#34d399;background:var(--success-surface);border-color:var(--success-border)}.msg.err{color:#fb7185;background:var(--danger-surface);border-color:var(--danger-border)}.msg.warn{color:#fcd34d;background:var(--warning-surface);border-color:var(--warning-border);display:flex;flex-direction:column;gap:10px;align-items:flex-start}.dim{color:var(--text-muted);font-size:13px}.dblock{display:block;word-break:break-all;overflow-wrap:anywhere}.code,.recovery-key{font-family:var(--font-mono)}.recovery-key{font-size:17px;letter-spacing:1.2px;background:#0b0f19d9;border:1px solid var(--border-default);padding:14px;border-radius:var(--radius-md);text-align:center;color:var(--accent);-webkit-user-select:all;user-select:all;box-shadow:inset 0 2px 4px #0006;word-break:break-all;overflow-wrap:anywhere}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;background:var(--bg-glass-strong);border-bottom:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:sticky;top:0;z-index:40;box-sizing:border-box}.topbar-title{font-size:16px;font-weight:700;letter-spacing:-.02em;display:flex;align-items:center;gap:8px;flex-shrink:0}.topbar-title a{color:var(--text-primary);display:flex;align-items:center;gap:8px}.topbar-title a:hover{color:var(--accent)}.topbar-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.statusbar{position:fixed;bottom:0;left:0;right:0;padding:8px 20px;border-top:1px solid var(--border-subtle);background:var(--bg-glass-strong);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:12px;color:var(--text-dim);display:flex;align-items:center;justify-content:space-between;z-index:30;box-sizing:border-box}.status-dot{width:7px;height:7px;border-radius:50%;display:inline-block;margin-right:6px}.status-dot.ok{background:var(--success);box-shadow:0 0 8px var(--success)}.status-dot.warn{background:var(--warning);box-shadow:0 0 8px var(--warning)}.status-dot.err{background:var(--danger);box-shadow:0 0 8px var(--danger)}.toolbar{display:flex;flex-direction:column;gap:14px;margin-bottom:8px}.tabs{display:flex;gap:8px;flex-wrap:wrap}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}@media (max-width: 480px){.grid{grid-template-columns:1fr}}.tool-card{display:flex;flex-direction:column;gap:12px;padding:22px;border-radius:var(--radius-lg);border:1px solid var(--border-default);background:linear-gradient(180deg,var(--bg-surface) 0%,rgba(20,30,51,.6) 100%);position:relative;overflow:hidden;transition:all var(--transition-normal);text-decoration:none;box-sizing:border-box}.tool-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:0;transition:opacity var(--transition-normal)}.tool-card:hover{border-color:var(--border-hover);transform:translateY(-3px);box-shadow:var(--shadow-card-hover)}.tool-card:hover:before{opacity:1}.tool-icon{font-size:28px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--accent-surface);border:1px solid var(--accent-border);box-shadow:0 0 16px -4px var(--accent-glow);flex-shrink:0}.tool-name{font-weight:700;font-size:17px;color:var(--text-primary);letter-spacing:-.01em}.tool-desc{font-size:13.5px;line-height:1.6;color:var(--text-muted);flex:1}.tool-meta{font-size:12px;font-weight:500;color:var(--text-dim);display:flex;align-items:center;gap:8px;padding-top:10px;border-top:1px solid var(--border-subtle)}.entries{display:flex;flex-direction:column;gap:16px}.entry{display:flex;gap:20px;align-items:center;padding:20px;background:linear-gradient(180deg,var(--bg-surface) 0%,rgba(15,23,42,.8) 100%);border:1px solid var(--border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);position:relative;box-sizing:border-box;overflow:hidden}.entry-info{flex:1;min-width:220px;display:flex;flex-direction:column;gap:10px}.title-input{font-size:15px;font-weight:600;color:var(--text-primary);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);padding:4px 8px;margin-left:-8px;transition:all var(--transition-fast)}.title-input:hover{border-color:var(--border-default);background:#0003}.title-input:focus{border-color:var(--accent);background:var(--bg-main)}.row2{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:13.5px}.row2 span{color:var(--text-dim);font-size:12px;text-transform:uppercase;letter-spacing:.05em;min-width:40px}.row2 b{font-family:var(--font-mono);color:var(--text-primary);word-break:break-all;font-weight:600}.entry-code{text-align:center;min-width:190px;display:flex;flex-direction:column;align-items:center;gap:8px;background:#0b0f1999;padding:16px 18px;border-radius:var(--radius-lg);border:1px solid var(--border-subtle);box-sizing:border-box}.code{font-size:32px;font-weight:800;letter-spacing:3px;font-family:var(--font-mono);color:#38bdf8;text-shadow:0 0 20px rgba(56,189,248,.4);line-height:1.1}.bar{width:150px;height:6px;background:#ffffff14;border-radius:var(--radius-full);overflow:hidden;position:relative}.bar>div{height:100%;background:linear-gradient(90deg,#38bdf8,#818cf8);border-radius:var(--radius-full);transition:width 1s linear,background-color .3s ease}.cd-label{font-size:12px;color:var(--text-dim);font-family:var(--font-mono)}.note-input{width:100%;min-height:44px;font-size:13px;resize:vertical}@media (max-width: 768px){.entry{flex-direction:column;align-items:stretch}.entry-code{min-width:100%}.hide-mobile{display:none!important}}.sess-list{display:flex;flex-direction:column;gap:10px}.sess-item{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 16px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:#0b0f1980;box-sizing:border-box}.sess-item .dim{margin-top:4px;font-size:12px}.tag{font-size:11px;font-weight:600;color:var(--success);border:1px solid var(--success-border);background:var(--success-surface);padding:2px 8px;border-radius:var(--radius-full);display:inline-block}.empty{text-align:center;color:var(--text-dim);padding:48px 20px;font-size:14px;background:var(--bg-surface);border:1px dashed var(--border-default);border-radius:var(--radius-lg)}
