/*! © 2026 Thom Easix / Bridge. Alle rechten voorbehouden. */
:root{--tov-max-width: 920px;--tov-pad-x: 24px;--tov-pad-y: 48px;--tov-header-gap: 12px;--tov-logo-size: 30px;--tov-title-size: 24px;--tov-section-gap: 28px;--tov-grid-min: 220px;--tov-grid-gap: 16px;--tov-card-radius: 12px;--tov-card-thumb-aspect: 16 / 10;--tov-card-pad: 14px;--tov-danger: #f44}.tov{flex:1;width:100%;height:100%;overflow-y:auto;box-sizing:border-box;padding:var(--tov-pad-y) var(--tov-pad-x);background:var(--bg, var(--ink-0a));color:var(--text, var(--ink-ff));font-family:Inter,system-ui,sans-serif}.tov-inner{max-width:var(--tov-max-width);margin:0 auto}.tov-brand{display:flex;align-items:center;justify-content:center;gap:var(--tov-header-gap);margin-bottom:var(--tov-section-gap)}.tov-logo{height:var(--tov-logo-size);width:var(--tov-logo-size);object-fit:contain;border-radius:7px;display:block;flex-shrink:0}.tov-title{margin:0;font-size:var(--tov-title-size);font-weight:600;color:var(--text, var(--ink-ff));letter-spacing:.2px}.tov-brand--switch{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:10px;padding:6px 8px 6px 10px;margin-left:-10px;margin-bottom:calc(var(--tov-section-gap) - 6px);outline:none;transition:background .15s ease}.tov-brand--switch:hover,.tov-brand--switch:focus-visible{background:var(--surface-2, rgba(var(--ink-hi-rgb), .06))}.tov-switch-chevron{opacity:.5;flex-shrink:0;transition:transform .15s ease,opacity .15s ease}.tov-brand--switch:hover .tov-switch-chevron{opacity:.85}.tov-brand--switch[aria-expanded=true] .tov-switch-chevron{transform:rotate(180deg);opacity:.85}.tov-switch-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4000;background:transparent}.tov-switch-menu{position:fixed;z-index:4001;transform:translate(-50%);min-width:220px;max-height:70vh;overflow-y:auto;padding:6px;background:var(--surface, var(--ink-15));border:1px solid var(--border, var(--ink-2a));border-radius:12px;box-shadow:0 16px 48px #00000073;animation:tov-switch-in .12s ease}@keyframes tov-switch-in{0%{opacity:0;transform:translate(-50%) translateY(-4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.tov-switch-item{display:flex;align-items:center;gap:11px;width:100%;padding:9px 12px;background:transparent;border:none;border-radius:8px;color:var(--text, var(--ink-ff));font-family:inherit;font-size:14px;font-weight:500;text-align:left;cursor:pointer;transition:background .12s ease}.tov-switch-item:hover{background:var(--surface-2, rgba(var(--ink-hi-rgb), .07))}.tov-switch-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;border-radius:8px;background:var(--surface-2, rgba(var(--ink-hi-rgb), .06));color:var(--text, var(--ink-ff))}.tov-switch-name{flex:1}.tov-switch-empty{padding:12px 14px;color:var(--ink-44);font-size:13px}.tov-actions{display:flex;justify-content:center;gap:10px;margin-bottom:var(--tov-section-gap)}.tov-btn-secondary{background:transparent;color:var(--text, var(--ink-ff));border:1px solid var(--border, var(--ink-2a))}.tov-btn-secondary:hover{opacity:1;border-color:var(--ink-44)}.tov-new-btn{display:inline-flex;align-items:center;gap:7px;background:var(--accent, var(--ink-ff));color:var(--on-accent, var(--ink-0));border:none;border-radius:9px;padding:10px 20px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .15s}.tov-new-btn:hover{opacity:.85}.tov-new-btn svg{stroke:currentColor}.tov-more-btn{padding-left:16px;padding-right:16px}.tov-menu-sheet{max-width:420px}.tov-menu-list{display:flex;flex-direction:column;gap:6px;padding:8px 12px 14px}.tov-menu-item{display:flex;align-items:center;gap:13px;width:100%;text-align:left;background:var(--bg-tertiary, var(--ink-0d));border:1px solid var(--border-color, var(--ink-2a));border-radius:12px;padding:13px 14px;cursor:pointer;color:var(--text, var(--ink-ff));font:inherit;transition:background .15s,border-color .15s}.tov-menu-item:hover{background:var(--surface-2, var(--ink-1f));border-color:var(--ink-44)}.tov-menu-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:var(--surface, var(--ink-15));border:1px solid var(--border-color, var(--ink-2a))}.tov-menu-icon svg{stroke:var(--text, var(--ink-ff));width:18px;height:18px}.tov-menu-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.tov-menu-label{font-size:14px;font-weight:600}.tov-menu-desc{font-size:12px;color:var(--text-muted, var(--ink-88))}.tov-menu-chevron{flex-shrink:0;display:flex;opacity:.5}.tov-menu-chevron svg{stroke:var(--text-muted, var(--ink-88))}.tov-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--tov-grid-min),1fr));gap:var(--tov-grid-gap)}.tov-grid--sections{display:block}.tov-section{margin-bottom:calc(var(--tov-section-gap) + 18px)}.tov-section:last-child{margin-bottom:0}.tov-section-head{display:flex;align-items:center;gap:12px;margin-bottom:18px;padding-bottom:10px;border-bottom:1px solid var(--border, var(--ink-25))}.tov-section-title{display:flex;align-items:center;gap:9px;margin:0;font-size:19px;font-weight:650;letter-spacing:-.01em;color:var(--text, var(--ink-ee))}.tov-section-count{font-size:12px;font-weight:500;color:var(--text-dim, var(--ink-88));background:var(--surface, var(--ink-15));border:1px solid var(--border, var(--ink-25));border-radius:999px;padding:1px 8px}.tov-section-actions{display:flex;align-items:center;gap:6px;margin-left:auto}.tov-section-new{display:inline-flex;align-items:center;gap:4px;background:none;border:1px solid var(--border, var(--ink-25));color:var(--text, var(--ink-ee));border-radius:8px;padding:5px 10px;font-size:12px;font-weight:500;cursor:pointer}.tov-section-new:hover{background:var(--surface, var(--ink-1f))}.tov-section-new svg{stroke:currentColor}.tov-section-actions .tov-card-action{position:static;opacity:1}.tov-section-empty{font-size:13px;color:var(--text-dim, var(--ink-88));padding:4px 0 0}.tov-section-more{margin-top:14px;display:inline-flex;align-items:center;background:none;border:1px solid var(--border, var(--ink-25));color:var(--text-dim, var(--ink-aa));border-radius:8px;padding:7px 14px;font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.tov-section-more:hover{background:var(--surface, var(--ink-1f));color:var(--text, var(--ink-ee));border-color:var(--ink-44)}.tov-card{position:relative;display:flex;flex-direction:column;background:var(--surface, var(--ink-15));border:1px solid var(--border, var(--ink-25));border-radius:var(--tov-card-radius);cursor:pointer;overflow:hidden;transition:background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease}.tov-card:hover{background:var(--surface-2, var(--ink-1f));border-color:var(--ink-44);transform:translateY(-3px);box-shadow:0 12px 28px #00000059}.tov-card:active{transform:translateY(-1px);transition-duration:.08s}.tov-opening .tov-card{cursor:progress}.tov-opening .tov-card:not(.tov-card--opening){opacity:.5}.tov-card--opening{border-color:var(--ink-66, #666)}.tov-card--opening:after{content:"";position:absolute;left:0;bottom:0;height:2px;width:40%;background:var(--text, #fff);animation:tov-opening-bar 1.1s ease-in-out infinite}@keyframes tov-opening-bar{0%{transform:translate(-100%)}to{transform:translate(250%)}}.tov-card-thumb{width:100%;aspect-ratio:var(--tov-card-thumb-aspect);background:var(--bg-secondary, var(--ink-0d));display:flex;align-items:center;justify-content:center;overflow:hidden}.tov-card-thumb img{width:100%;height:100%;object-fit:cover}.tov-card-thumb.empty{opacity:.45}.tov-card-thumb svg{stroke:var(--text-muted, var(--ink-88))}.tov-card-body{display:flex;align-items:flex-start;gap:11px;padding:var(--tov-card-pad)}.tov-card-icon{flex-shrink:0;display:flex}.tov-card-icon svg{stroke:var(--text-muted, var(--ink-88))}.tov-card-text{flex:1;min-width:0}.tov-card-title{font-size:14px;font-weight:500;color:var(--text, var(--ink-ff));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tov-card-meta{font-size:12px;color:var(--text-muted, var(--ink-88));margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tov-card-badge{display:inline-block;margin-left:6px;font-size:10px;font-weight:600;padding:1px 6px;border-radius:999px;background:var(--surface-2, var(--ink-1f));color:var(--text-muted, var(--ink-88));vertical-align:middle}.tov-card-actions{position:absolute;top:8px;right:8px;display:flex;gap:4px;opacity:0;transition:opacity .15s}.tov-card:hover .tov-card-actions{opacity:1}.tov-card-action{background:#00000073;border:none;color:#fff;cursor:pointer;padding:6px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:color .15s,background .15s}.tov-card-action svg{stroke:currentColor}.tov-card-action:hover{background:var(--hover, rgba(255, 255, 255, .12))}.tov-card-action.danger:hover{color:var(--tov-danger);background:#ff444426}[data-theme=light] .tov-card-action:hover{background:#0009}[data-theme=light] .tov-section-actions .tov-card-action{background:var(--surface-2);color:var(--text)}[data-theme=light] .tov-section-actions .tov-card-action:hover{background:var(--surface-3)}[data-theme=light] .tov-section-actions .tov-card-action.danger:hover{color:var(--tov-danger)}[data-theme=light]{--tov-danger: #d92d20}.tov-ctx-menu{position:fixed;z-index:10000;min-width:180px;padding:6px;display:flex;flex-direction:column;gap:2px;background:var(--surface-2, var(--ink-1a));border:1px solid var(--border, rgba(var(--ink-hi-rgb), .1));border-radius:12px;box-shadow:0 12px 32px #00000073}.tov-ctx-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border:none;background:none;color:var(--text, var(--ink-ff));font-size:13px;font-family:inherit;text-align:left;border-radius:8px;cursor:pointer}.tov-ctx-item:hover{background:var(--hover, rgba(var(--ink-hi-rgb), .08))}.tov-ctx-item.danger{color:var(--tov-danger, #ff5555)}.tov-ctx-item.danger:hover{background:#ff44441f}.tov-ctx-icon{display:flex;align-items:center}.tov-ctx-icon svg{stroke:currentColor}.tov-empty,.tov-status{grid-column:1 / -1;text-align:center;padding:56px 20px;color:var(--text-muted, var(--ink-88))}.tov-empty svg{stroke:var(--ink-44)}.tov-empty p{margin:12px 0 0;font-size:14px}.tov-status.error{color:var(--tov-danger)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:none;align-items:center;justify-content:center;padding:20px;background:#0000008c}.modal-overlay.open{display:flex}.modal-sheet{width:100%;max-width:400px;max-height:85vh;overflow-y:auto;background:var(--bg-secondary, var(--ink-15));border:1px solid var(--border-color, var(--ink-2a));border-radius:16px;padding-bottom:6px}.modal-handle{width:36px;height:4px;border-radius:2px;background:var(--ink-44);margin:10px auto 4px}.modal-title{font-size:17px;font-weight:700;color:var(--text);text-align:center;padding:6px 20px 4px}.bridge-input{width:100%;padding:11px 13px;box-sizing:border-box;font-size:14px;background:var(--bg-tertiary, var(--ink-0d));border:1px solid var(--border-color, var(--ink-2a));border-radius:10px;color:var(--text)}.bridge-input:focus{outline:none;border-color:var(--ink-44)}.bridge-btn{padding:10px 18px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;border:1px solid var(--border-color, var(--ink-2a))}.bridge-btn-secondary{background:var(--bg-tertiary, var(--ink-1a));color:var(--text)}.bridge-btn-primary{background:var(--text);color:var(--bg);border-color:var(--text)}.bridge-btn:hover{opacity:.85}.tov-m-tools,.tov-m-more,.tov-card-more,.tov-fab{display:none}.tov-card[hidden],.tov-section[hidden],.tov-chips[hidden]{display:none!important}@media(max-width:768px){.tov{padding:calc(var(--m-safe-top) + 8px) 0 calc(var(--m-safe-bottom) + 104px)}.tov-inner{max-width:none}.tov-head{display:flex;align-items:center;gap:4px;padding:4px 8px 6px var(--m-pad-x)}.tov-head .tov-brand{flex:1;min-width:0;justify-content:flex-start;margin:0}.tov-head .tov-logo{display:none}.tov-head .tov-title{font-size:var(--m-fs-large-title);font-weight:800;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tov-m-more{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--m-tap);height:var(--m-tap);border:0;border-radius:12px;background:none;color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent}.tov-m-more:active{background:var(--m-active-bg)}.tov-quickstart{padding:0 var(--m-pad-x);margin-bottom:12px}.tov-actions{display:none}.tov-m-tools{display:block;margin-bottom:14px}.tov-search{display:flex;align-items:center;gap:10px;height:var(--m-tap);margin:4px var(--m-pad-x) 12px;padding:0 14px;border-radius:var(--m-radius-md);background:var(--m-surface-2);color:var(--m-text-3);cursor:text}.tov-search-input{flex:1;min-width:0;height:100%;border:0;outline:none;background:none;color:var(--text);font:400 var(--m-fs-input)/1.2 Inter,system-ui,sans-serif;-webkit-appearance:none;appearance:none}.tov-search-input::placeholder{color:var(--m-text-3)}.tov-search-input::-webkit-search-cancel-button{display:none}.tov-chips{display:flex;gap:8px;overflow-x:auto;padding:0 var(--m-pad-x);scrollbar-width:none}.tov-chips::-webkit-scrollbar{display:none}.tov-chip{position:relative;flex-shrink:0;height:var(--m-chip-h);padding:0 14px;border:1px solid rgba(var(--ink-hi-rgb),.16);border-radius:var(--m-radius-pill);background:none;color:var(--m-text-2);display:flex;align-items:center;gap:6px;font:500 14px/1 Inter,system-ui,sans-serif;white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent}.tov-chip:after{content:"";position:absolute;top:-4px;right:0;bottom:-4px;left:0}.tov-chip em{font-style:normal;font-size:12.5px;color:var(--m-text-3)}.tov-chip.is-on{background:var(--m-accent);border-color:var(--m-accent);color:var(--m-on-accent);font-weight:600}.tov-chip.is-on em{color:inherit;opacity:.6}.tov-grid,.tov-section-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px 12px;align-items:start}.tov-grid{padding:0 var(--m-pad-x)}.tov-grid--sections{padding:0}.tov-section{padding:0 var(--m-pad-x)}.tov-section-grid{padding:0}.tov-card{background:none;border:0;border-radius:0;overflow:visible;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.tov-card:hover{background:none;transform:none;box-shadow:none}.tov-card:active{transform:scale(.98)}.tov-card--removed{display:none!important}.tov-card-thumb{aspect-ratio:4 / 5;padding:12px;border-radius:var(--m-radius-md);background:var(--m-surface);border:1px solid var(--m-border);box-sizing:border-box}.tov-card-thumb img{object-fit:contain;border-radius:4px;filter:drop-shadow(0 6px 14px rgba(0,0,0,.45))}.tov-card-thumb.empty{opacity:1}.tov-card-thumb.empty svg{opacity:.45}.tov-card-body{padding:8px 0 0;gap:2px;align-items:flex-start}.tov-card-title{font-size:14px;font-weight:600}.tov-card-meta{font-size:12.5px;color:var(--m-text-2);margin-top:2px}.tov-card-actions{display:none}.tov-card-more{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;margin:-8px -8px 0 0;border:0;border-radius:10px;background:none;color:var(--m-text-2);cursor:pointer;-webkit-tap-highlight-color:transparent}.tov-card-more:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px}.tov-card-more:active{background:var(--m-active-bg)}.tov-grid:has(>.tov-card--text),.tov-section-grid:has(>.tov-card--text){grid-template-columns:minmax(0,1fr);gap:8px}.tov-card--text{min-height:var(--m-list-row-h);padding:10px 6px 10px 14px;border-radius:var(--m-radius-md);background:var(--m-surface);border:1px solid var(--m-border);justify-content:center}.tov-card--text .tov-card-body{padding:0;align-items:center;gap:12px}.tov-card--text .tov-card-more{margin:0}.tov-fab{display:flex;align-items:center;justify-content:center;position:fixed;right:var(--m-pad-x);bottom:calc(var(--m-safe-bottom) + 24px);z-index:var(--m-z-fab);width:var(--m-tap-lg);height:var(--m-tap-lg);border:0;border-radius:18px;background:var(--m-accent);color:var(--m-on-accent);box-shadow:0 10px 30px #0009;cursor:pointer;-webkit-tap-highlight-color:transparent}.tov-fab .m-icon{stroke-width:2.4}.tov-fab:active{transform:scale(.94)}body.m-has-bar .tov-fab{bottom:calc(var(--m-bar-total) + 16px)}}
