.favorites-panel{position:fixed;top:calc(var(--chrome-top-height) + var(--safe-area-top));right:0;bottom:0;width:360px;background:var(--bg-elevated);border-left:1px solid var(--border);box-shadow:var(--shadow-md);z-index:95;display:flex;flex-direction:column;overflow:hidden}.favorites-panel:focus{outline:none}.favorites-panel-header{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-bottom:1px solid var(--border);flex-shrink:0}.favorites-panel-title{font-size:.85rem;font-weight:600;color:var(--text);flex:1 1}.favorites-panel-btn{border:none;background:none;cursor:pointer;color:var(--text-muted);padding:.2rem .4rem;border-radius:3px;font-size:.85rem;line-height:1}.favorites-panel-btn:hover{background:var(--hover-bg);color:var(--text)}.favorites-panel-list{overflow-y:auto;flex:1 1;min-height:0;padding:.25rem 0}.favorites-panel-empty{padding:1rem .75rem;font-size:.85rem;color:var(--text-muted)}.favorites-panel-row{display:flex;align-items:center;gap:.4rem;padding:.3rem .5rem .3rem .25rem;border-bottom:1px solid transparent;transition:background .1s}.favorites-panel-row--active,.favorites-panel-row:hover{background:var(--hover-bg)}.favorites-panel-row--drag-over{border-bottom:2px solid var(--accent,#4a90d9)}.favorites-drag-handle{cursor:-webkit-grab;cursor:grab;color:var(--text-muted);font-size:1rem;padding:.1rem .2rem;flex-shrink:0;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.favorites-drag-handle:active{cursor:-webkit-grabbing;cursor:grabbing}.favorites-entry-body{display:flex;align-items:center;gap:.4rem;flex:1 1;border:none;background:none;cursor:pointer;text-align:left;font-size:.85rem;color:var(--text);min-width:0;padding:.1rem 0}.favorites-entry-ref{font-weight:500;flex-shrink:0}.favorites-entry-badge{font-size:.7rem;padding:1px 5px;border-radius:3px;background:color-mix(in srgb,var(--edition-colour,var(--bg-muted)) 14%,transparent);color:var(--edition-colour,var(--text-muted));flex-shrink:0}.favorites-entry-chip{background:var(--bg-muted);color:var(--text-muted)}.favorites-entry-chip,.favorites-view-chip{font-size:.65rem;padding:1px 4px;border-radius:3px;flex-shrink:0}.favorites-view-chip{background:color-mix(in srgb,var(--accent,#4a90d9) 16%,transparent);color:var(--accent,#4a90d9);white-space:nowrap}.favorites-entry-time{font-size:.75rem;color:var(--text-muted);flex-shrink:0;margin-left:auto}.favorites-view-actions{display:flex;align-items:center;gap:.1rem;flex-shrink:0}.favorites-view-btn{border:none;background:none;cursor:pointer;color:var(--text-muted);font-size:.85rem;line-height:1;padding:.2rem .25rem;border-radius:3px;opacity:0;transition:opacity .1s}.favorites-view-btn:hover{background:var(--hover-bg);color:var(--text)}.favorites-remove-btn{border:none;background:none;cursor:pointer;color:var(--text-muted);padding:.2rem;border-radius:3px;flex-shrink:0;display:flex;align-items:center;opacity:0;transition:opacity .1s}.favorites-panel-row--active .favorites-remove-btn,.favorites-panel-row--active .favorites-view-btn,.favorites-panel-row:focus-within .favorites-remove-btn,.favorites-panel-row:focus-within .favorites-view-btn,.favorites-panel-row:hover .favorites-remove-btn,.favorites-panel-row:hover .favorites-view-btn{opacity:1}.favorites-remove-btn:focus-visible,.favorites-view-btn:focus-visible{opacity:1;outline:2px solid var(--accent,#4a90d9);outline-offset:1px}.favorites-remove-btn:hover{background:var(--hover-bg);color:var(--text)}.favorites-panel-footer{padding:.4rem .75rem;border-top:1px solid var(--border);flex-shrink:0;display:flex;align-items:center;gap:.5rem}.favorites-clear-btn{border:1px solid var(--border);background:none;cursor:pointer;color:var(--text);font-size:.8rem;padding:.25rem .6rem;border-radius:4px}.favorites-clear-btn:hover{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.favorites-clear-cancel-btn{border:none;background:none;cursor:pointer;color:var(--text-muted);font-size:.8rem;padding:.2rem .4rem;border-radius:3px}.favorites-clear-cancel-btn:hover{background:var(--hover-bg);color:var(--text)}@media (max-width:639px){.favorites-panel{top:0;right:0;width:100vw;max-width:100vw;max-height:100vh;border-radius:0;border:none;padding-top:var(--safe-area-top);padding-bottom:var(--safe-area-bottom)}.favorites-panel-close:before{content:"← "}.favorites-panel-close{font-size:.9rem}.favorites-panel-btn{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}.favorites-remove-btn{opacity:1;min-width:44px;min-height:44px}}.align-hl-row{align-items:center}.align-hl-legend{margin-top:.35rem;border:1px solid var(--border);border-radius:6px;padding:.5rem .6rem;display:flex;flex-direction:column;gap:.35rem}.align-hl-legend-group{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);margin-top:.3rem}.align-hl-legend-group:first-child{margin-top:0}.align-hl-legend-row{display:flex;align-items:center;gap:.55rem}.align-hl-sample{flex:0 0 auto;min-width:3.4rem;text-align:center;font-size:.85rem;padding:.05rem .3rem;color:var(--text)}.align-hl-legend-desc{font-size:.76rem;color:var(--text-dim)}.settings-panel-backdrop{position:fixed;inset:0;z-index:199}.settings-panel{position:fixed;top:56px;right:.5rem;width:280px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:6px;box-shadow:var(--shadow-md);z-index:200;font-size:.88rem;outline:none}.settings-panel-header{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-bottom:1px solid var(--border)}.settings-panel-title{font-weight:600;font-size:.82rem;letter-spacing:.04em;color:var(--text);flex:1 1}.settings-panel-close{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--text-muted);padding:.2rem .3rem;border-radius:4px}.settings-panel-close:hover{background:var(--hover-bg);color:var(--text)}.settings-panel-body{padding:.6rem .75rem .75rem}.settings-group{border-bottom:1px solid var(--border)}.settings-group:last-child{border-bottom:none}.settings-auth-section{padding:.55rem 0}.settings-auth-login{display:flex;align-items:center;gap:.5rem;width:100%;padding:.4rem .5rem;background:none;border:1px solid var(--border);border-radius:4px;color:var(--text);cursor:pointer;font-size:.85rem;text-align:left}.settings-auth-login:not(:disabled):hover{background:var(--hover-bg)}.settings-auth-login:disabled{opacity:.6;cursor:not-allowed}.settings-auth-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.settings-auth-identity{display:flex;align-items:center;gap:.4rem;min-width:0}.settings-auth-email{font-size:.85rem;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-auth-icon{font-size:.95rem;line-height:1}.settings-auth-logout{flex-shrink:0}.settings-group-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.45rem 0;background:none;border:none;cursor:pointer;text-align:left;color:var(--text-dim);font-size:.78rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.settings-group-header:hover{color:var(--text)}.settings-group-header-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-right:.5rem;flex:none;opacity:.75}.settings-group-header:hover .settings-group-header-icon{opacity:1}.settings-group-header-label{flex:1 1}.settings-group-chevron{font-size:.7rem;margin-left:.4rem;opacity:.6}.settings-group-body{padding-bottom:.5rem}.settings-row{display:flex;align-items:center;justify-content:space-between}.settings-label{font-size:.82rem;color:var(--text-dim)}.settings-label--section{margin-bottom:.45rem}.settings-layers{font-family:var(--ui);font-size:.8rem}.settings-toggle{flex-shrink:0;width:34px;height:18px;border-radius:9px;border:none;cursor:pointer;position:relative;background:var(--border-input);transition:background .15s;padding:0}.settings-toggle[aria-checked=true]{background:var(--accent)}.settings-toggle-thumb{position:absolute;width:12px;height:12px;border-radius:50%;background:#fff;top:3px;left:3px;transition:left .15s;pointer-events:none}.settings-toggle[aria-checked=true] .settings-toggle-thumb{left:19px}.settings-inspection-options{display:flex;gap:.3rem}.settings-inspection-option{flex:1 1;padding:.3rem .5rem;border:1px solid var(--border);border-radius:4px;background:none;cursor:pointer;font-size:.78rem;color:var(--text-muted);text-align:center;transition:border-color .1s,background .1s}.settings-inspection-option:hover{background:var(--hover-bg);color:var(--text)}.settings-inspection-option.active{border-color:var(--accent);color:var(--accent);background:var(--accent-bg)}.settings-hint{margin:.35rem 0 0;font-size:.76rem;color:var(--text-faint);line-height:1.4}.settings-font-size-row{margin-top:.35rem}.settings-font-size-label{min-width:2.5rem}.settings-font-size-controls{display:flex;gap:.2rem}.settings-font-size-btn{min-width:32px;min-height:28px;padding:.15rem .4rem;border:1px solid var(--border);border-radius:4px;background:none;cursor:pointer;font-size:.75rem;color:var(--text-muted);transition:background .1s,color .1s;line-height:1}.settings-font-size-btn:hover:not(:disabled){background:var(--hover-bg);color:var(--text)}.settings-font-size-btn:disabled{opacity:.35;cursor:default}.settings-font-size-btn--reset{font-weight:600}.settings-font-size-slider-wrap{display:flex;align-items:center;gap:.4rem;flex:1 1;justify-content:flex-end}.settings-font-size-slider{flex:1 1;max-width:110px;accent-color:var(--accent);cursor:pointer}.settings-font-size-px{font-size:.75rem;color:var(--text-muted);min-width:3rem;text-align:right}.settings-font-size-reset{background:none;border:none;cursor:pointer;color:var(--text-faint);font-size:.85rem;padding:0;line-height:1}.settings-font-size-reset:hover{color:var(--text-muted)}@media (max-width:639px){.settings-panel{top:auto;bottom:0;left:0;right:0;width:100%;border-radius:12px 12px 0 0;border-bottom:none;max-height:85vh;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:.75rem}.settings-row{min-height:44px}.settings-inspection-option{min-height:44px;padding:.5rem .6rem}.settings-font-size-btn{min-width:44px;min-height:44px;padding:.4rem .5rem;font-size:.82rem}.settings-panel-close{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}}.settings-correction-mode{margin-top:.6rem;padding-top:.6rem;border-top:1px solid var(--border,#e5e5e5)}.settings-panel--docked{position:static;top:auto;right:auto;width:100%;height:100%;flex:1 1;min-height:0;z-index:auto;border:none;border-radius:0;box-shadow:none;display:flex;flex-direction:column}.settings-panel--docked .settings-panel-header{flex-shrink:0}.settings-panel--docked .settings-panel-body{flex:1 1;min-height:0;overflow-y:auto}.settings-panel-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--text-muted);padding:.2rem .3rem;border-radius:4px;line-height:1}.settings-panel-btn.active,.settings-panel-btn:hover{background:var(--hover-bg);color:var(--text)}.settings-appearance-section .settings-row{align-items:center}.settings-appearance-section .lang-toggle-btn,.settings-appearance-section .theme-toggle-btn{border:1px solid var(--border-input);border-radius:6px;padding:.35rem .65rem;min-height:32px;min-width:48px;color:var(--text)}.settings-appearance-section .lang-toggle-btn{font-size:.85rem}.settings-appearance-section .theme-toggle-btn svg{width:18px;height:18px}.settings-appearance-section .lang-toggle-btn:hover,.settings-appearance-section .theme-toggle-btn:hover{background:var(--hover-bg);border-color:var(--text-muted)}.settings-edition-set{list-style:none;margin:.35rem 0 0;padding:0}.settings-edition-set__row{display:flex;align-items:center;gap:.5rem;padding:.15rem 0}.settings-edition-set__primary{display:flex;align-items:center;gap:.4rem;flex:1 1;min-width:0;cursor:pointer}.settings-edition-set__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-edition-set__visible{display:flex;align-items:center;gap:.25rem;flex:0 0 auto;font-size:.76rem;color:var(--text-muted);cursor:pointer}.settings-edition-set__remove{flex:0 0 auto;border:none;background:none;color:var(--text-faint);cursor:pointer;font-size:1rem;line-height:1;padding:0 .25rem}.settings-edition-set__remove:disabled{opacity:.4;cursor:not-allowed}.settings-edition-set__remove:not(:disabled):hover,.settings-hint--notice{color:var(--text-dim)}