*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--rose-50: #fff1f2;--rose-100: #ffe4e6;--rose-200: #fecdd3;--rose-300: #fda4af;--rose-400: #fb7185;--rose-500: #f43f5e;--rose-600: #e11d48;--gold: #c9a87c;--gold-light: #e2cbad;--gold-glow: rgba(201, 168, 124, .25);--bg: #fdf2f4;--bg-deep: #f8e8ec;--card: rgba(255, 255, 255, .72);--card-solid: #ffffff;--border: rgba(253, 164, 175, .3);--border-strong: rgba(251, 113, 133, .35);--text: #3b1a2a;--text-secondary: #8c5a6f;--text-muted: #b08090;--accent: var(--rose-400);--accent-deep: var(--rose-500);--success: #5bb98c;--danger: var(--rose-500);--radius: 14px;--radius-sm: 8px;--radius-xs: 6px;--glass-blur: 20px;--shadow-sm: 0 1px 3px rgba(59, 26, 42, .04), 0 1px 2px rgba(59, 26, 42, .03);--shadow-md: 0 4px 16px rgba(59, 26, 42, .06), 0 1px 4px rgba(59, 26, 42, .04);--shadow-lg: 0 8px 32px rgba(59, 26, 42, .08), 0 2px 8px rgba(59, 26, 42, .04);--shadow-pink: 0 4px 20px rgba(244, 63, 94, .12);--shadow-gold: 0 4px 20px var(--gold-glow);--transition: .2s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .3s cubic-bezier(.34, 1.56, .64, 1);--sidebar-w: 268px}html,body,#root{height:100%}body{font-family:SF Pro Display,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}body:before{content:"";position:fixed;top:-20%;right:-10%;width:600px;height:600px;background:radial-gradient(circle,rgba(251,113,133,.12) 0%,transparent 70%);border-radius:50%;pointer-events:none;z-index:0}body:after{content:"";position:fixed;bottom:-15%;left:-5%;width:500px;height:500px;background:radial-gradient(circle,rgba(201,168,124,.1) 0%,transparent 70%);border-radius:50%;pointer-events:none;z-index:0}.app{height:100vh;height:100dvh;display:flex;flex-direction:column;position:relative;z-index:1}.header{padding:14px 28px;background:var(--card);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-bottom:1px solid var(--border);display:flex;align-items:center;gap:16px;flex-shrink:0;position:relative}.header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--rose-300),var(--gold-light),var(--rose-300),transparent);opacity:.5}.header h1{font-size:22px;font-weight:700;letter-spacing:-.02em;background:linear-gradient(135deg,var(--rose-500),var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.logo{font-size:24px;-webkit-text-fill-color:initial}.subtitle{font-size:12.5px;color:var(--text-secondary);letter-spacing:.02em}.main{display:flex;flex:1;min-height:0;overflow:hidden}.sidebar{width:var(--sidebar-w);min-width:var(--sidebar-w);flex-shrink:0;background:var(--card);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-right:1px solid var(--border);overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px}.panel{background:linear-gradient(135deg,#fffc,#fff1f280);border:1px solid var(--border);border-radius:var(--radius);padding:14px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:box-shadow var(--transition)}.panel:hover{box-shadow:var(--shadow-sm)}.panel h2{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px;position:relative;padding-left:10px}.panel h2:before{content:"";position:absolute;left:0;top:2px;bottom:2px;width:3px;border-radius:2px;background:linear-gradient(180deg,var(--rose-400),var(--gold))}.import-btns{display:flex;gap:8px}.import-btns button{flex:1;padding:10px 14px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:linear-gradient(135deg,#ffffffe6,#ffe4e666);cursor:pointer;font-size:13px;font-weight:500;color:var(--text);transition:all var(--transition);position:relative;overflow:hidden}.import-btns button:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,var(--rose-100),var(--rose-200));opacity:0;transition:opacity var(--transition)}.import-btns button:hover{border-color:var(--rose-400);box-shadow:var(--shadow-pink);transform:translateY(-1px)}.import-btns button:hover:before{opacity:.5}.import-btns button:active{transform:translateY(0)}.distill-btn{width:100%;display:flex;align-items:center;gap:10px;padding:12px 14px;border:none;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--gold),var(--rose-400));color:#fff;cursor:pointer;transition:all var(--transition);box-shadow:var(--shadow-gold);text-align:left}.distill-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-pink)}.distill-btn:active:not(:disabled){transform:translateY(0)}.distill-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.distill-icon{font-size:20px;flex-shrink:0}.distill-text{display:flex;flex-direction:column;gap:1px;line-height:1.25}.distill-text strong{font-size:13.5px;font-weight:700}.distill-text small{font-size:10px;opacity:.92}.mode-switch{display:flex;gap:6px;margin-bottom:8px;background:var(--rose-50);padding:3px;border-radius:var(--radius-sm)}.mode-switch button{flex:1;padding:8px 10px;border:1.5px solid transparent;border-radius:var(--radius-xs);background:transparent;cursor:pointer;font-size:12.5px;font-weight:500;color:var(--text-secondary);transition:all var(--transition);position:relative}.mode-switch button.active{border-color:transparent;background:linear-gradient(135deg,var(--card-solid),var(--rose-100));color:var(--rose-500);font-weight:600;box-shadow:var(--shadow-sm)}.mode-switch button:not(.active):hover{color:var(--rose-400);background:#ffffff80}.mode-hint{font-size:11px;color:var(--text-muted);line-height:1.5;padding:4px 0}.quick-tags{display:flex;flex-wrap:wrap;gap:6px}.tag-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--card-solid);cursor:pointer;font-size:12px;font-family:SF Mono,Fira Code,Menlo,monospace;color:var(--text);transition:all var(--transition);position:relative;overflow:hidden}.tag-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(135deg,var(--rose-400),var(--rose-500));opacity:0;transition:opacity var(--transition);z-index:0}.tag-btn:hover:not(:disabled){border-color:var(--rose-400);transform:translateY(-2px);box-shadow:var(--shadow-pink);color:#fff}.tag-btn:hover:not(:disabled):after{opacity:1}.tag-btn:hover:not(:disabled)>*{position:relative;z-index:1}.tag-btn:active:not(:disabled){transform:translateY(-1px)}.tag-btn:disabled{opacity:.3;cursor:not-allowed}.tag-stat{font-size:10px;color:var(--text-muted);font-family:SF Pro,-apple-system,sans-serif;transition:color var(--transition)}.tag-btn:hover:not(:disabled) .tag-stat{color:#ffffffd9}.tag-list{max-height:260px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.tag-item{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:var(--radius-xs);cursor:pointer;font-size:12.5px;transition:all var(--transition)}.tag-item:hover{background:#f43f5e0f}.tag-item input[type=checkbox]{accent-color:var(--rose-400);width:14px;height:14px;border-radius:3px}.tag-name{font-family:SF Mono,Fira Code,Menlo,monospace;font-weight:500;font-size:12px;min-width:90px;color:var(--text)}.tag-meta{font-size:11px;color:var(--text-muted);margin-left:auto;font-variant-numeric:tabular-nums}.empty-hint{font-size:12px;color:var(--text-muted);text-align:center;padding:20px 0}.apply-btn{width:100%;margin-top:10px;padding:10px;border:none;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--rose-400),var(--rose-500));color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all var(--transition);position:relative;overflow:hidden}.apply-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);transition:left .5s}.apply-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-pink)}.apply-btn:hover:before{left:100%}.apply-btn:active{transform:translateY(-1px)}.whitespace-btns{display:flex;gap:6px}.ws-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 6px 6px;border:1px solid var(--border);border-radius:var(--radius-sm);background:linear-gradient(180deg,var(--card-solid),var(--rose-50));cursor:pointer;transition:all var(--transition);position:relative;overflow:hidden}.ws-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(135deg,var(--gold),var(--rose-400));opacity:0;transition:opacity var(--transition)}.ws-btn:hover:not(:disabled){border-color:var(--rose-400);transform:translateY(-2px);box-shadow:var(--shadow-pink);color:#fff}.ws-btn:hover:not(:disabled):after{opacity:1}.ws-btn:disabled{opacity:.35;cursor:not-allowed}.ws-icon{font-size:16px;position:relative;z-index:1}.ws-label{font-size:11.5px;font-weight:600;position:relative;z-index:1}.ws-desc{font-size:9.5px;color:var(--text-muted);position:relative;z-index:1;transition:color var(--transition)}.ws-btn:hover:not(:disabled) .ws-desc{color:#fffc}.log-list{list-style:none;display:flex;flex-direction:column;gap:4px}.log-list li{display:flex;align-items:center;gap:6px;font-size:11.5px;padding:4px 6px;border-radius:var(--radius-xs);transition:background var(--transition)}.log-list li:hover{background:#f43f5e0a}.log-tags{font-family:SF Mono,Fira Code,Menlo,monospace;color:var(--text);font-size:11px}.log-diff{margin-left:auto;color:var(--success);font-weight:600;font-size:11px;font-variant-numeric:tabular-nums}.pane{flex:1 1 0;min-width:0;min-height:0;display:flex;flex-direction:column}.pane+.pane{border-left:1px solid var(--border)}.pane-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 16px;min-height:46px;background:var(--card);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-bottom:1px solid var(--border);flex-shrink:0;position:relative}.pane-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--rose-200),transparent);opacity:.4}.pane-title{font-size:12.5px;font-weight:600;color:var(--text-secondary)}.pane-sub{font-size:11.5px;color:var(--text-muted);font-variant-numeric:tabular-nums}.char-info{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:11.5px;color:var(--text-secondary)}.char-info span{display:flex;align-items:center;gap:3px;white-space:nowrap}.char-info strong{color:var(--text);font-variant-numeric:tabular-nums}.ratio strong{background:linear-gradient(135deg,var(--rose-500),var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700}.toolbar-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px;justify-content:flex-end}.format-toggle{display:flex;align-items:center;gap:5px;font-size:12px;cursor:pointer;color:var(--text-secondary);transition:color var(--transition);white-space:nowrap}.format-toggle:hover{color:var(--text)}.format-toggle input{accent-color:var(--rose-400)}.toolbar-actions button{padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius-xs);background:linear-gradient(135deg,var(--card-solid),var(--rose-50));cursor:pointer;font-size:12px;color:var(--text);transition:all var(--transition);white-space:nowrap}.toolbar-actions button:hover:not(:disabled){border-color:var(--rose-400);box-shadow:var(--shadow-pink);transform:translateY(-1px)}.toolbar-actions button:active:not(:disabled){transform:translateY(0)}.toolbar-actions button:disabled{opacity:.3;cursor:not-allowed}.pane-body{flex:1 1 auto;min-height:0;overflow:hidden;background:var(--bg);position:relative}.pane-body>div{height:100%}.pane-body .cm-editor{height:100%;font-size:13px}.pane-body .cm-scroller{overflow:auto!important}.pane-body .cm-gutters{background:var(--rose-50);border-right:1px solid var(--border);color:var(--text-muted)}.pane-body .cm-activeLineGutter{background:var(--rose-100)}.pane-body .cm-activeLine{background:#fb71850a}.pane-body .cm-selectionBackground{background:#fb718526!important}.pane-body .cm-foldGutter{color:var(--rose-300)}.pane-body .cm-placeholder{color:var(--text-muted);font-style:italic}.editor-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-muted);gap:4px;padding:20px;text-align:center}.placeholder-icon{font-size:56px;margin-bottom:16px;opacity:.6;filter:grayscale(20%)}.editor-placeholder>p:first-of-type{font-size:15px;font-weight:500;color:var(--text-secondary)}.placeholder-hint{font-size:12px;opacity:.7}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%);padding:10px 22px;background:#3b1a2aeb;color:#fff;border-radius:999px;font-size:13px;font-weight:500;box-shadow:var(--shadow-lg);z-index:50;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:toastIn .25s ease-out}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.sidebar::-webkit-scrollbar,.tag-list::-webkit-scrollbar{width:5px}.sidebar::-webkit-scrollbar-track,.tag-list::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb,.tag-list::-webkit-scrollbar-thumb{background:var(--rose-200);border-radius:3px}.sidebar::-webkit-scrollbar-thumb:hover,.tag-list::-webkit-scrollbar-thumb:hover{background:var(--rose-300)}button:focus-visible{outline:2px solid var(--rose-400);outline-offset:2px}::selection{background:#fb718533;color:var(--text)}@media(max-width:980px){body{overflow:auto}.app{height:auto;min-height:100vh;min-height:100dvh}.main{flex-direction:column;overflow:visible}.sidebar{width:100%;min-width:0;border-right:none;border-bottom:1px solid var(--border)}.pane{min-height:60vh}.pane+.pane{border-left:none;border-top:1px solid var(--border)}body:before,body:after{display:none}}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.panel{animation:fadeIn .3s ease-out both}.panel:nth-child(2){animation-delay:.05s}.panel:nth-child(3){animation-delay:.1s}.panel:nth-child(4){animation-delay:.15s}.panel:nth-child(5){animation-delay:.2s}.panel:nth-child(6){animation-delay:.25s}.panel:nth-child(7){animation-delay:.3s}.panel:nth-child(8){animation-delay:.35s}
