@import"https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;600;700&family=Poppins:wght@500;600;700&display=swap";:root{font-family:Noto Sans SC,Inter,Segoe UI,-apple-system,BlinkMacSystemFont,Helvetica Neue,Arial,sans-serif;line-height:1.55;font-weight:400;color:#0f172a;background-color:#f7f8fb;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top,rgba(59,130,246,.08),transparent 48%),linear-gradient(180deg,#f8fafc,#eef2ff);color:inherit}#root{min-height:100vh}button{font-family:inherit;cursor:pointer}button:focus,button:focus-visible,input:focus,textarea:focus{outline:2px solid rgba(37,99,235,.35);outline-offset:2px}.app{display:flex;flex-direction:column;gap:2rem;padding:clamp(1.6rem,3vw,2.6rem) clamp(1.75rem,6vw,3.5rem) clamp(2rem,4vw,3rem);width:min(94vw,1500px);margin:0 auto}.app__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.4rem 1.6rem;border-radius:28px;background:linear-gradient(135deg,#fffffff2,#f8faffe6);border:1px solid rgba(226,232,240,.9);box-shadow:0 18px 45px #0f172a14}.app__header h1{margin:0;font-size:clamp(1.85rem,2vw,2.2rem);font-weight:700;letter-spacing:-.02em;color:#0f172a;font-family:Poppins,Noto Sans SC,Inter,sans-serif}.app__subtitle{margin:.45rem 0 0;color:#475569;font-size:1rem;max-width:640px}.app__content{display:flex;gap:1.6rem;align-items:stretch}.sidebar{width:260px;flex-shrink:0;display:flex;flex-direction:column;gap:.95rem;padding:1.1rem .9rem 1.35rem;border:1px solid #e2e8f0;border-radius:28px;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 20px 50px #0f172a14;transition:width .25s ease,padding .25s ease,box-shadow .25s ease}.sidebar--collapsed{width:76px;padding:.75rem .25rem .95rem}.sidebar__top{display:flex;align-items:center;justify-content:flex-start;gap:.9rem;padding:0 .35rem}.sidebar__menu{border:1px solid #d5dff6;border-radius:16px;background:#f3f6ff;width:48px;height:48px;color:#111827;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex-direction:column;gap:.2rem;transition:background .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease}.sidebar__menu span{display:block;height:2px;width:22px;border-radius:999px;background:currentColor}.sidebar__menu:hover{background:#e6edff;border-color:#c6d4f7}.sidebar__menu:focus-visible{outline:none;box-shadow:0 0 0 3px #3b82f633}.sidebar__brand{font-size:.95rem;font-weight:600;letter-spacing:.01em;color:#111827}.sidebar__sections{display:flex;flex-direction:column;gap:.85rem;flex:1}.sidebar__section{display:flex;flex-direction:column;gap:.35rem}.sidebar__section+.sidebar__section{border-top:1px solid #f2f4f7;padding-top:.85rem}.sidebar__section-title{margin:0;font-size:.78rem;color:#64748b;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:0 .4rem}.sidebar__nav{display:flex;flex-direction:column;gap:.2rem}.nav-button{position:relative;width:100%;text-align:left;padding:.55rem .85rem;border-radius:18px;border:1px solid transparent;background:transparent;color:#0f172a;display:flex;align-items:center;gap:.75rem;font-size:.92rem;font-weight:500;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease}.nav-button svg{width:22px;height:22px}.nav-button:hover:not(:disabled){background:#edf2ff;border-color:#3b82f640}.nav-button:focus-visible{outline:none;border-color:#3b82f673;box-shadow:0 0 0 3px #3b82f62e}.nav-button--active{background:linear-gradient(135deg,#2563eb1f,#3b82f614);border-color:#2563eb59;color:#1d4ed8;font-weight:600}.nav-button:disabled{opacity:.45;cursor:not-allowed}.nav-button__icon{width:36px;height:36px;border-radius:12px;display:inline-flex;justify-content:center;align-items:center;background:#6366f114;color:#1f2937;transition:background .2s ease,color .2s ease}.nav-button--active .nav-button__icon{background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff}.nav-button__label{flex:1}.nav-badge{position:absolute;top:.5rem;right:.55rem;width:8px;height:8px;border-radius:999px;background:#2563eb}.sidebar--collapsed .sidebar__brand,.sidebar--collapsed .sidebar__section-title{display:none}.sidebar--collapsed .sidebar__top{justify-content:center}.sidebar--collapsed .sidebar__sections{gap:.45rem}.sidebar--collapsed .sidebar__nav{align-items:center}.sidebar--collapsed .nav-button{flex-direction:column;align-items:center;gap:.35rem;padding:.6rem .25rem;border-radius:14px}.sidebar--collapsed .nav-button__icon{width:42px;height:42px}.sidebar--collapsed .nav-button__label{font-size:.72rem;font-weight:600;text-align:center}.sidebar--collapsed .nav-badge{top:.35rem;right:.4rem}.app__main{flex:1;padding:1.6rem;border-radius:30px;border:1px solid rgba(226,232,240,.9);background:#ffffffeb;box-shadow:0 22px 50px #0f172a14;min-width:0}.placeholder-panel{border:1px dashed #d7dce8;border-radius:20px;padding:2.5rem 2rem;text-align:center;background:#f8fafc;color:#4b5563;box-shadow:inset 0 0 0 1px #e2e8f080}.placeholder-panel h2{margin:0 0 .6rem;color:#0f172a}.options{display:flex;flex-wrap:wrap;gap:.75rem}.options--grouped{flex-direction:column;gap:.5rem}.option-group{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.option-group__label{font-size:.85rem;font-weight:600;color:#475569}.option-group__chips{display:flex;flex-wrap:wrap;gap:.6rem}.option-group--encode{padding-top:.35rem;border-top:1px solid #edf2fc}.option-chip{display:flex;align-items:center;gap:.5rem;padding:.45rem .95rem;border-radius:999px;border:1px solid #d7e1f5;background:#f8faff;font-size:.9rem;color:#1f2933;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.option-chip:hover{border-color:#3b82f659;box-shadow:0 6px 16px #0f172a14}.option-chip input{accent-color:#2563eb}.panes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.pane{display:flex;flex-direction:column;border:1px solid #e2e8f0;border-radius:20px;background:#fff;box-shadow:0 16px 40px #0f172a14;overflow:hidden}.pane__header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid #e2e8f0;background:linear-gradient(180deg,#f9fbff,#eef3ff)}.pane__title{font-weight:600;color:#1a2433}.pane__actions{display:flex;align-items:center;gap:.6rem}.pane__meta{font-size:.85rem;color:#64748b}.pane__body{flex:1;display:flex;flex-direction:column}.pane textarea{flex:1;width:100%;border:1px solid #e2e8f0;padding:1.2rem;font-family:JetBrains Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:.95rem;line-height:1.6;color:#111827;background:#f9fbff;resize:vertical;min-height:380px;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.pane textarea:focus{outline:none;border-color:#3b82f6;background:#fff;box-shadow:0 0 0 3px #3b82f62e}.pane__body.output{padding:0}.code-block{flex:1;margin:0;padding:1.25rem 1.5rem;background:#0b1120;color:#e2e8f0;font-family:JetBrains Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:.95rem;line-height:1.6;overflow:auto;border-radius:0;white-space:pre}.fragment-list{display:flex;flex-direction:column;gap:1rem;padding:1.25rem 1.25rem 1.5rem}.fragment{border:1px solid #dbe3f4;border-radius:14px;overflow:hidden;background:#0f172a}.fragment__header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:.9rem 1.1rem;background:#0f172abf;color:#e2e8f0}.fragment__title{font-weight:600}.fragment__meta{display:inline-flex;align-items:center;gap:.25rem;margin-left:.4rem;font-size:.8rem;color:#cbd5f5}.fragment .code-block{background:transparent}.empty-state{padding:2.5rem;text-align:center;color:#94a3b8;font-size:.95rem}.pane__error{margin:0 1.25rem 1.25rem;padding:.9rem 1.1rem;border-radius:14px;border:1px solid #f8d7da;background:#fff5f5;color:#b42318;font-size:.9rem}.notes{border:1px solid #dbe3f4;border-radius:18px;background:#fff;padding:1.25rem 1.75rem 1.5rem;box-shadow:0 10px 28px #1e293b14}.notes h2{margin:0 0 .75rem;font-size:1.1rem;color:#1e293b}.notes ul{margin:0;padding-left:1.2rem;color:#334155;font-size:.95rem}.notes li+li{margin-top:.35rem}.timestamp-lab{display:flex;flex-direction:column;gap:1.75rem}.lab-hero{display:flex;justify-content:space-between;gap:1.25rem;padding:1.5rem 2rem;border-radius:24px;border:1px solid #dbe3f4;background:radial-gradient(circle at top left,rgba(59,130,246,.14),transparent 55%),#f8fbff;box-shadow:inset 0 1px #ffffffb3}.lab-hero h1{margin:0;font-size:1.85rem;color:#0f172a}.lab-hero p{margin:.4rem 0 0;color:#475569;max-width:640px}.lab-hero__meta{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:.35rem;color:#475569;font-size:.9rem}.lab-hero__meta strong{font-size:1.1rem;color:#111827}.timestamp-card{display:flex;flex-direction:column;gap:1.4rem;padding:1.75rem;border-radius:26px;border:1px solid #e1e8ff;background:#fff;box-shadow:0 18px 45px #0f172a1a}.card-header{display:flex;justify-content:space-between;gap:1rem}.card-header h2{margin:0;font-size:1.3rem;color:#111b2b}.card-header p{margin:.35rem 0 0;color:#5f6c88;font-size:.95rem}.chip-group{display:flex;gap:.5rem;flex-wrap:wrap;align-items:flex-start}.chip-toggle{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .9rem;border-radius:999px;border:1px solid #dbe3f4;color:#475569;font-size:.9rem;cursor:pointer;background:#f8fafc}.chip-toggle input{accent-color:#2563eb}.chip-toggle--active{border-color:#2563eb;background:#2563eb14;color:#1d4ed8}.field-row{display:flex;gap:1rem;flex-wrap:wrap}.field{flex:1;display:flex;flex-direction:column;gap:.4rem}.field span{font-size:.9rem;color:#475569}.field input{border-radius:16px;border:1px solid #dbe3f4;padding:.9rem 1.1rem;font-size:1rem;font-family:inherit;background:#fdfefe;transition:border .2s ease,box-shadow .2s ease}.field input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}.card-hint{margin:0;font-size:.9rem;color:#64748b}.card-hint--error{color:#b42318}.time-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.time-block{border-radius:20px;border:1px solid #e6edff;background:#f8fbff;padding:1.25rem 1.35rem;box-shadow:inset 0 1px #fff9}.time-block--muted{background:#f5f5ff}.time-block__label{font-size:.85rem;color:#64748b}.time-block__value{margin-top:.35rem;font-size:1.15rem;font-weight:600;color:#0f172a;word-break:break-all}.time-block__meta{margin-top:.45rem;font-size:.85rem;color:#7c8aab}.result-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.85rem}.result-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border-radius:16px;border:1px solid #e4ebff;background:#fdfdff}.result-row__label{font-size:.9rem;color:#475569;white-space:nowrap}.result-row__value{display:flex;align-items:center;gap:.75rem;font-weight:600;color:#0f172a;word-break:break-all}.pill-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.pill{border-radius:18px;border:1px solid #e2e8ff;background:#f8fbff;padding:1rem 1.2rem;display:flex;flex-direction:column;gap:.35rem}.pill--flat{background:#fff}.pill__label{font-size:.85rem;color:#64748b}.pill__value{display:flex;align-items:center;justify-content:space-between;gap:.75rem;color:#0f172a;font-weight:600;word-break:break-all}.json-diff{display:flex;flex-direction:column;gap:1.25rem}.compare-options{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap}.compare-base{display:inline-flex;align-items:center;gap:.6rem;padding:.8rem 1rem;border-radius:16px;border:1px solid #e2e8ff;background:#f8fbff;color:#0f172a}.compare-base__label{color:#475467;font-weight:600}.compare-base__value{font-weight:700}.compare-layout{display:grid;grid-template-columns:minmax(360px,1fr) minmax(0,1fr);gap:1.25rem;align-items:start}.compare-column{border:1px solid #e5e7eb;background:#fff;border-radius:24px;padding:1.25rem;box-shadow:0 14px 36px #0f172a12;display:flex;flex-direction:column;gap:1rem}.compare-column__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.compare-column__header h2{margin:0}.compare-column__header p{margin:.35rem 0 0;color:#4b5563}.compare-column__meta{font-size:.9rem;color:#6b7280;white-space:nowrap}.compare-cards{display:flex;flex-direction:column;gap:.85rem}.compare-card{border:1px solid #e5e7eb;border-radius:18px;background:#fdfefe;padding:.95rem;display:flex;flex-direction:column;gap:.75rem;box-shadow:0 12px 30px #0f172a14}.compare-card--baseline{border-color:#4f46e5;box-shadow:0 14px 36px #4f46e524;background:linear-gradient(180deg,#f5f7ff,#fff 48%)}.compare-card__header{display:flex;justify-content:space-between;gap:.85rem}.compare-card__title{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;color:#111827}.compare-card__badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .55rem;border-radius:12px;background:#eef2ff;color:#4338ca;font-size:.85rem}.compare-card__meta{margin:.2rem 0 0;color:#6b7280;font-size:.9rem}.compare-card__actions{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;justify-content:flex-end}.compare-card__body textarea{width:100%;min-height:140px;border-radius:14px;border:1px solid #dbe3f4;padding:.85rem 1rem;font-family:JetBrains Mono,SFMono-Regular,Consolas,Courier New,monospace;font-size:.95rem;background:#fff;resize:vertical}.compare-card__body textarea:focus{outline:2px solid #4f46e5;border-color:#4f46e5}.inline-diff-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:1.25rem}.inline-diff-pane{border:1px solid #e5e7eb;border-radius:24px;background:#fff;padding:1.1rem;box-shadow:0 14px 36px #0f172a12;display:flex;flex-direction:column;gap:.85rem}.inline-pane__bar{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.inline-diff-area{position:relative}.inline-diff-area textarea{width:100%;min-height:280px;border-radius:16px;border:1px solid #dbe3f4;padding:.9rem 1rem;font-family:JetBrains Mono,SFMono-Regular,Consolas,Courier New,monospace;font-size:.95rem;background:transparent;color:#0f172a;resize:vertical;position:relative;z-index:2}.inline-diff-area textarea:focus{outline:2px solid #4f46e5;border-color:#4f46e5}.diff-overlay{position:absolute;inset:0;border-radius:16px;overflow:hidden;pointer-events:none;font-family:JetBrains Mono,SFMono-Regular,Consolas,Courier New,monospace;font-size:.95rem;color:transparent;z-index:1}.diff-line{display:grid;grid-template-columns:48px 1fr;align-items:start;gap:.5rem;padding:0 .75rem;min-height:1.4rem;white-space:pre-wrap;word-break:break-word}.diff-line__number{color:#9ca3af;text-align:right}.diff-line__text{color:transparent}.diff-line--equal{background:transparent}.diff-line--missing{background:#fff4e5}.diff-line--added{background:#e6f7ed}.diff-line--changed{background:#fffbe6}.inline-diff-summary{display:inline-flex;gap:.6rem;align-items:center;flex-wrap:wrap}.diff-results{display:flex;flex-direction:column;gap:1rem}.diff-card{border:1px solid #e5e7eb;border-radius:18px;background:#fdfefe;box-shadow:0 12px 32px #0f172a14;padding:1rem;display:flex;flex-direction:column;gap:.85rem}.diff-viewer{border:1px solid #e5e7eb;border-radius:14px;overflow:hidden}.rdv-DiffViewer{font-family:JetBrains Mono,SFMono-Regular,Consolas,Courier New,monospace;font-size:.95rem}.rdv-DiffViewer pre{white-space:pre}.rdv-line{line-height:1.55}.rdv-gutter{color:#9ca3af;background:#f8fafc}.select{border-radius:12px;border:1px solid #dbe3f4;padding:.55rem .75rem;background:#f8fbff;font-size:.95rem}.diff-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.diff-card__header h3{margin:0;display:flex;align-items:center;gap:.5rem}.diff-card__subtitle{color:#6b7280;font-size:.9rem;font-weight:500}.diff-card__meta{margin:.35rem 0 0;color:#4b5563}.diff-chips{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.diff-chip{display:inline-flex;align-items:center;gap:.3rem;border-radius:999px;padding:.25rem .75rem;font-size:.85rem;border:1px solid transparent}.diff-chip--missing{background:#fff7ed;color:#9a3412;border-color:#fed7aa}.diff-chip--added{background:#ecfdf3;color:#166534;border-color:#bbf7d0}.diff-chip--changed{background:#eef2ff;color:#4338ca;border-color:#c7d2fe}.diff-groups{display:flex;flex-direction:column;gap:.7rem}.diff-group{display:flex;flex-direction:column;gap:.5rem;padding:.5rem .4rem;border-radius:12px;border:1px solid #e5e7eb}.diff-group__title{font-weight:700;color:#111827}.diff-list{display:flex;flex-direction:column;gap:.5rem}.diff-row{border:1px solid #e5e7eb;border-radius:12px;padding:.65rem .75rem;background:#f9fafb;display:flex;flex-direction:column;gap:.35rem}.diff-path{font-family:JetBrains Mono,SFMono-Regular,Consolas,Courier New,monospace;color:#0f172a;font-size:.9rem;word-break:break-all}.diff-values{display:flex;flex-wrap:wrap;gap:.45rem;color:#334155;font-size:.9rem}.diff-value{padding:.2rem .55rem;border-radius:10px;border:1px solid #e2e8f0;background:#fff}.diff-value--base{background:#eef2ff;border-color:#e0e7ff}.diff-value--target{background:#ecfdf3;border-color:#bbf7d0}.empty-state--flat{padding:1rem;background:#fff;border:1px dashed #e5e7eb;border-radius:14px}.replace-lab{display:flex;flex-direction:column;gap:1.75rem}.rule-board{display:grid;grid-template-columns:minmax(320px,420px) minmax(0,1fr);gap:1.25rem;align-items:flex-start}.rule-form{border-radius:24px;border:1px solid #e2e8ff;background:#fff;box-shadow:0 18px 45px #0f172a14;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.rule-form__header{display:flex;justify-content:space-between;gap:.75rem}.rule-form__header h2{margin:0;font-size:1.25rem;color:#0f172a}.rule-form__header p{margin:.3rem 0 0;color:#596579;font-size:.95rem}.rule-field{display:flex;flex-direction:column;gap:.4rem}.rule-field span{font-size:.9rem;color:#4b5563}.rule-field input,.rule-field textarea{border-radius:16px;border:1px solid #dbe3f4;padding:.85rem 1rem;font-size:.95rem;font-family:inherit;background:#fdfefe}.rule-field textarea{min-height:68px;resize:vertical}.rule-field input:focus,.rule-field textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f62e}.rule-form__options{display:flex;gap:.75rem;flex-wrap:wrap}.rule-form__error{margin:0;color:#b42318;font-size:.9rem}.rule-list{border-radius:26px;border:1px solid #e4ebff;background:#fff;box-shadow:0 18px 45px #0f172a14;padding:1.25rem 1.5rem 1.5rem;display:flex;flex-direction:column;gap:1.25rem}.rule-list__header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.rule-list__header h2{margin:0;font-size:1.2rem;color:#0f172a}.rule-list__header p{margin:.3rem 0 0;color:#64748b;font-size:.9rem}.rule-list__actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.rule-list__items{display:flex;flex-direction:column;gap:1rem}.rule-card{border:1px solid #e2e8ff;border-radius:20px;padding:1rem 1.15rem;background:#f8fbff;display:flex;flex-direction:column;gap:.75rem;transition:border .2s ease,box-shadow .2s ease}.rule-card--selected{border-color:#2563eb;box-shadow:0 10px 24px #2563eb26}.rule-card--active{border-color:#4c6ef5;box-shadow:0 12px 28px #4c6ef538;background:#eef2ff}.rule-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;flex-wrap:wrap}.rule-card__info{display:flex;flex-direction:column;gap:.35rem;flex:1}.rule-card__title{display:flex;align-items:center;gap:.45rem}.rule-card__name{border:none;background:transparent;padding:0;font-size:1rem;font-weight:600;color:#0f172a;cursor:pointer;text-align:left}.rule-card__name:hover,.rule-card__name--active{color:#1d4ed8}.rule-card__status{padding:.1rem .55rem;border-radius:999px;background:#e0e7ff;color:#1d4ed8;font-size:.75rem}.rule-card__meta{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.35rem}.rule-card__toggle{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem;color:#475569}.rule-card__body{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.rule-card__body>div{display:flex;flex-direction:column;gap:.35rem;align-self:stretch}.rule-card__body span{font-size:.85rem;color:#64748b}.rule-card__body code{display:flex;align-items:center;min-height:2.4rem;padding:.35rem .55rem;border-radius:12px;background:#0f172a;color:#e2e8f0;font-size:.85rem;line-height:1.5;white-space:pre-wrap;word-break:break-all}.rule-card__actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.rule-chip{display:inline-flex;align-items:center;padding:.2rem .65rem;border-radius:999px;border:1px solid #d9e4ff;background:#eef3ff;color:#1d4ed8;font-size:.75rem}.pane__log{margin:0 1.25rem 1.25rem;padding:.9rem 1.1rem;border-radius:16px;border:1px solid #e2e8f0;background:#f8fafc}.pane__log strong{display:block;margin-bottom:.5rem;color:#0f172a;font-size:.95rem}.pane__log ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.35rem}.pane__log li{display:flex;align-items:center;justify-content:space-between;font-size:.9rem;color:#1f2937}.log-success{color:#16a34a}.log-muted{color:#94a3b8}button.primary,button.secondary{padding:.5rem 1.05rem;border-radius:12px;border:1px solid transparent;font-size:.9rem;font-weight:600;transition:all .2s ease}button.primary{background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff;border-color:#2563eb99;box-shadow:0 10px 22px #2563eb40}button.primary:hover:not(:disabled){background:linear-gradient(135deg,#1d4ed8,#2563eb);box-shadow:0 12px 28px #2563eb47}button.secondary{background:#f8fafc;color:#1e293b;border-color:#e2e8f0}button.secondary:hover:not(:disabled){background:#eef2f7}.ghost{padding:.35rem .75rem;border-radius:999px;border:1px dashed #cfd5ee;background:transparent;color:#1d4ed8;font-size:.85rem;cursor:pointer}.ghost:hover:not(:disabled){border-color:#94a3f2;color:#0f172a}button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:900px){.app__content{flex-direction:column}.sidebar,.sidebar--collapsed{width:100%;padding:1rem}.sidebar--collapsed{width:100%}.sidebar--collapsed .sidebar__top{justify-content:flex-start}.sidebar--collapsed .sidebar__brand,.sidebar--collapsed .sidebar__section-title{display:block}.sidebar--collapsed .sidebar__brand{display:inline-block}.sidebar--collapsed .sidebar__nav{align-items:flex-start}.sidebar--collapsed .nav-button{flex-direction:row;padding:.55rem .85rem}.sidebar--collapsed .nav-button__label{font-size:.92rem;text-align:left}.app__main{padding:1.25rem}}@media(max-width:1100px){.app{width:min(96vw,1100px);padding:1.75rem 1.5rem 2.25rem}.rule-board{grid-template-columns:1fr}}@media(max-width:780px){.rule-card__body{grid-template-columns:1fr}}@media(max-width:960px){.panes,.compare-layout{grid-template-columns:1fr}.compare-column__header{flex-direction:column;align-items:flex-start}.compare-column__meta{width:100%}.pane textarea{min-height:260px}}@media(max-width:640px){.app{width:calc(100vw - 2rem);padding:1.5rem 1rem 1.75rem}.pane__header{flex-direction:column;align-items:flex-start;gap:.6rem}.pane__actions{width:100%;justify-content:space-between}.app__main{padding:1.1rem}.lab-hero{flex-direction:column;align-items:flex-start}.lab-hero__meta{align-items:flex-start}.field-row{flex-direction:column}}
