.template-library-overlay{background:var(--sheet-backdrop);z-index:8000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.template-library-dialog{background:var(--chrome-bg-elevated);border:1px solid var(--chrome-border);width:min(920px,100vw - 24px);height:min(80vh,640px);max-height:min(80vh,640px);font-family:var(--font-ui);border-radius:6px;flex-direction:column;display:flex;overflow:hidden}.template-library-header{border-bottom:1px solid var(--chrome-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.template-library-header__title{color:var(--text-main);font-size:14px;font-weight:700}.template-library-header__subtitle{color:var(--text-muted);margin-top:2px;font-size:12px}.template-library-tabs{flex-wrap:wrap;gap:4px;margin-top:10px;display:flex}.template-library-tab{border:1px solid var(--chrome-border);border-radius:var(--radius-control);background:var(--chrome-bg);color:var(--text-muted);cursor:pointer;padding:4px 12px;font-size:12px;font-weight:600}.template-library-tab:hover{background:var(--chrome-hover);color:var(--text-main)}.template-library-tab--active{background:var(--chrome-active);border-color:var(--chrome-border-strong);color:var(--text-main)}.template-library-close{border:1px solid var(--chrome-border);border-radius:var(--radius-control);background:var(--chrome-bg-elevated);cursor:pointer;width:36px;height:36px;color:var(--text-muted);justify-content:center;align-items:center;display:inline-flex}.template-library-body{flex:1;min-height:0;display:flex}.template-library-body--single{flex-direction:column}.template-library-panel-lead{color:var(--text-muted);margin:0 0 12px;font-size:12px;line-height:1.45}.template-library-sidebar{border-right:1px solid var(--chrome-border);background:var(--chrome-bg);flex-direction:column;flex-shrink:0;width:220px;display:flex}.template-library-search-wrap{border-bottom:1px solid var(--chrome-border);background:var(--chrome-bg-elevated);padding:10px 10px 8px}.template-library-search{box-sizing:border-box;border-radius:var(--radius-control);border:1px solid var(--chrome-border);width:100%;color:var(--text-main);background:var(--chrome-input-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E") no-repeat 9px center;padding:7px 10px 7px 30px;font-size:13px}.template-library-search:focus{border-color:var(--chrome-border-strong);outline:none}.template-library-nav{flex:1;padding:4px 0;overflow-y:auto}.template-library-nav__empty{color:var(--text-muted);padding:12px 14px;font-size:12px}.template-library-category{border:none;border-bottom:1px solid var(--chrome-border);cursor:pointer;text-align:left;width:100%;color:var(--text-main);background:0 0;align-items:center;gap:6px;padding:8px 10px 8px 8px;font-size:13px;transition:background .1s;display:flex}.template-library-category:hover{background:var(--chrome-hover)}.template-library-category--active{background:var(--chrome-active);color:var(--text-main);font-weight:600}.template-library-category__chevron{color:var(--text-muted);flex-shrink:0}.template-library-category--active .template-library-category__chevron{color:var(--text-main)}.template-library-category__icon{color:var(--text-muted);flex-shrink:0}.template-library-category--active .template-library-category__icon{color:var(--text-main)}.template-library-category__label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.template-library-category__count{color:var(--text-muted);flex-shrink:0;font-size:12px;font-weight:400}.template-library-category--active .template-library-category__count{color:var(--primary)}.template-library-main{background:var(--chrome-bg-elevated);flex-direction:column;flex:1;min-width:0;display:flex}.template-library-main__head{border-bottom:1px solid var(--chrome-border);color:var(--text-main);flex-shrink:0;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 14px;font-size:13px;font-weight:600;display:flex}.template-library-main__meta{color:var(--text-muted);font-size:12px;font-weight:400}.template-library-main__scroll{flex:1;padding:10px 12px 14px;overflow-y:auto}.template-library-placeholder{text-align:center;min-height:200px;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;padding:24px;font-size:13px;display:flex}.template-library-placeholder__title{color:var(--text-main);margin-bottom:6px;font-weight:600}.template-library-placeholder__hint{color:var(--text-muted);margin-top:12px;font-size:12px}.template-library-grid{grid-template-columns:repeat(auto-fill,minmax(152px,1fr));gap:10px;display:grid}.template-library-card{text-align:left;border-radius:var(--radius-control);border:1px solid var(--chrome-border);background:var(--chrome-bg);cursor:pointer;flex-direction:column;align-items:stretch;padding:8px;display:flex}.template-library-card__preview-canvas{border-radius:var(--radius-control);border:1px solid var(--chrome-border);background:var(--chrome-bg-elevated);width:100%;height:72px;margin-bottom:6px;display:block}.template-library-card:hover{background:var(--chrome-hover);border-color:var(--chrome-border-strong)}.template-library-card__code{color:var(--text-main);letter-spacing:-.02em;font-size:18px;font-weight:800}.template-library-card__name{color:var(--text-main);overflow-wrap:anywhere;margin-top:2px;font-size:12px;font-weight:600;display:block}.template-library-card__hint{color:var(--text-muted);margin-top:3px;font-size:10px;font-weight:500;line-height:1.25;display:block}.template-library-card{cursor:grab}.template-library-card:active{cursor:grabbing}.template-library-card__hint{color:#64748b;font-size:11px;line-height:1.3}.template-library-card:disabled{opacity:1;cursor:grab}.template-library-card-wrap{flex-direction:column;min-width:0;display:flex}.template-library-card-wrap>.template-library-card{flex:1}.template-library-card__refs{flex-wrap:wrap;gap:2px 8px;padding:3px 4px 0;font-size:10px;line-height:1.3;display:flex}.template-library-card__refs a{color:var(--accent,#2563eb);overflow-wrap:anywhere;text-decoration:none}.template-library-card__refs a:hover,.template-library-card__refs a:focus-visible{text-decoration:underline}.template-library-more{border:1px solid var(--chrome-border-strong,#d1d5db);background:var(--chrome-bg-elevated,#fff);color:var(--text-main,#0f172a);font:600 12px/1.2 var(--font-ui,inherit);cursor:pointer;border-radius:999px;margin:14px auto 6px;padding:6px 14px;display:block}.template-library-more:hover{background:var(--chrome-hover,#f1f5f9)}.template-library-tab__count{font-variant-numeric:tabular-nums;opacity:.55;margin-left:5px;font-size:10.5px;font-weight:600}.template-library-tab--active .template-library-tab__count{opacity:.75}.template-library-card--3d{position:relative}.template-library-card__badge-3d{z-index:1;letter-spacing:.02em;color:#fff;background:var(--chrome-accent,#2563eb);pointer-events:none;border-radius:999px;padding:1px 5px;font-size:10px;font-weight:700;line-height:1.4;position:absolute;top:12px;right:12px}.reaction-library-dialog{width:min(960px,100vw - 32px);max-width:960px}.reaction-library-body{flex:1;min-height:0;display:flex}.reaction-library-list{flex-direction:column;flex:1;min-width:0;display:flex}.reaction-library-list__scroll{padding:8px 10px 12px}.reaction-library-cards{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.reaction-library-card{border:1px solid var(--chrome-border);border-radius:var(--radius-panel,6px);background:var(--chrome-bg-elevated);width:100%;color:var(--text-main);text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 28px 8px 10px;font-family:inherit;display:flex;position:relative}.reaction-library-card:hover{border-color:var(--chrome-border-strong);background:var(--chrome-hover)}.reaction-library-card--active{border-color:var(--primary);box-shadow:0 0 0 1px color-mix(in srgb, var(--primary) 35%, transparent)}.reaction-library-card__label{letter-spacing:.04em;text-transform:uppercase;color:var(--primary);font-size:9px;font-weight:700}.reaction-library-card__name{font-size:12px;font-weight:600;line-height:1.25}.reaction-library-card__summary{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:10px;line-height:1.35;display:-webkit-box;overflow:hidden}.reaction-library-card__meta{color:var(--text-muted);margin-top:2px;font-size:9px}.reaction-library-card__fav{width:22px;height:22px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:6px;right:6px}.reaction-library-card__fav:hover,.reaction-library-card__fav--on{color:var(--primary);background:var(--chrome-hover)}.reaction-library-detail{border-left:1px solid var(--chrome-border);background:var(--chrome-bg);flex-direction:column;flex-shrink:0;width:min(280px,34%);min-width:0;display:flex;overflow:hidden}.reaction-library-detail__head{border-bottom:1px solid var(--chrome-border);flex:none;padding:12px 12px 8px}.reaction-library-detail__title{color:var(--text-main);margin:0 0 4px;font-size:13px;font-weight:600;line-height:1.3}.reaction-library-detail__summary{color:var(--text-muted);margin:0;font-size:11px;line-height:1.4}.reaction-library-detail__scheme{color:var(--text-main);border-bottom:1px solid var(--chrome-border);background:var(--chrome-bg-elevated);flex-wrap:wrap;flex:none;align-items:center;gap:4px 6px;padding:10px 12px;font-size:10px;font-weight:500;display:flex}.reaction-library-detail__compound{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.reaction-library-detail__arrow-wrap{color:var(--text-muted);flex-direction:column;align-items:center;gap:1px;margin:0 2px;display:inline-flex}.reaction-library-detail__step-cond{text-align:center;flex-direction:column;align-items:center;max-width:88px;font-size:8px;line-height:1.2;display:flex}.reaction-library-detail__above{color:var(--text-main)}.reaction-library-detail__below{color:var(--text-muted)}.reaction-library-detail__steps{min-height:0;color:var(--text-main);flex:auto;margin:0;padding:10px 12px 8px 28px;font-size:11px;overflow-y:auto}.reaction-library-detail__step{margin-bottom:10px}.reaction-library-detail__step-title{margin-bottom:3px;font-weight:600}.reaction-library-detail__step-conditions{color:var(--text-muted);flex-direction:column;gap:2px;margin-bottom:4px;font-size:10px;display:flex}.reaction-library-detail__step-mechanism{color:var(--text-muted);margin:0;font-size:10px;line-height:1.45}.reaction-library-detail__mechanism{border-top:1px solid var(--chrome-border);color:var(--text-muted);flex:none;padding:8px 12px 10px;font-size:10px;line-height:1.45}.reaction-library-detail__mechanism-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-main);margin:0 0 4px;font-size:10px;font-weight:600}.reaction-library-detail__mechanism p{margin:0}.reaction-library-detail__actions{border-top:1px solid var(--chrome-border);flex:none;padding:10px 12px 12px}.reaction-library-insert-btn{border-radius:var(--radius-control,4px);background:var(--primary);color:#fff;cursor:pointer;border:none;width:100%;height:32px;font-family:inherit;font-size:12px;font-weight:600}.reaction-library-insert-btn:hover:not(:disabled){background:var(--primary-hover)}.reaction-library-insert-btn:disabled{opacity:.65;cursor:wait}.reaction-library-empty{color:var(--text-muted);text-align:center;margin:0;padding:20px 12px;font-size:11px}@media (max-width:860px){.reaction-library-detail{width:100%;max-height:42vh}}.reaction-library-detail__plus{color:var(--text-muted);margin:0 4px;font-weight:700}
