/* Cloud-Clipboard styling — iCt Horse v0.7.0 Klembord-Pyrocumulus */

.clip-app{max-width:980px;margin:0 auto;padding:0 4px}

.clip-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:18px}
.clip-meta-block{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:16px 18px;display:flex;flex-direction:column;gap:6px;min-height:118px}
.clip-meta-label{font-size:.72rem;color:var(--mint);text-transform:uppercase;letter-spacing:.6px;font-weight:600}
.clip-meta-value{font-family:"Space Grotesk",monospace;font-size:1.35rem;letter-spacing:.06em;color:var(--text);line-height:1.2}
.clip-meta-value.clip-status{font-size:1rem;color:var(--teal-green)}
.clip-meta-value.clip-status.err{color:#e8736b}
.clip-meta-value.clip-status.busy{color:#e3c87a}
.clip-meta-sub{font-size:.78rem;color:var(--dim)}

/* Pair-state indicator (4 states) — v0.5.2 Klembord-Cirrus */
.clip-pair-state{display:flex;align-items:center;gap:8px;margin-top:4px;font-family:"Space Grotesk",monospace;font-size:.82rem}
.clip-pair-state .pair-icon{font-size:1.15rem;line-height:1;width:1.4em;text-align:center;font-weight:600}
.clip-pair-state .pair-text{color:var(--dim);font-size:.78rem;font-family:inherit;line-height:1.3}
.clip-pair-state[data-state="none"] .pair-icon{color:var(--dim)}
.clip-pair-state[data-state="outgoing"] .pair-icon{color:var(--teal-green)}
.clip-pair-state[data-state="outgoing"] .pair-text{color:var(--text)}
.clip-pair-state[data-state="incoming"] .pair-icon{color:#e3c87a}
.clip-pair-state[data-state="incoming"] .pair-text{color:var(--text)}
.clip-pair-state[data-state="mutual"] .pair-icon{color:var(--mint);animation:pairPulse 2s ease-in-out infinite}
.clip-pair-state[data-state="mutual"] .pair-text{color:var(--text);font-weight:600}
@keyframes pairPulse{0%,100%{opacity:.7}50%{opacity:1}}

/* Channels-indicator (4 kanalen) — v0.6.1 Klembord-Altocumulus */
.clip-channels{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}
.clip-channel{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:4px;font-size:.72rem;font-family:"Space Grotesk",monospace;background:rgba(7,11,20,.4);border:1px solid var(--border);cursor:default;transition:all .15s;letter-spacing:.02em}
.clip-channel .ch-mark{font-weight:600;font-size:.82rem;line-height:1}
.clip-channel[data-state="off"]{color:var(--dim);opacity:.5}
.clip-channel[data-state="off"] .ch-mark{color:#e8736b}
.clip-channel[data-state="ok"]{color:var(--text);background:rgba(89,197,168,.08);border-color:rgba(89,197,168,.4)}
.clip-channel[data-state="ok"] .ch-mark{color:var(--teal-green)}
.clip-channel[data-state="none"]{color:var(--dim);opacity:.5}
.clip-channel[data-state="none"] .ch-mark{color:var(--dim)}
.clip-channel[data-state="outgoing"]{color:var(--text);background:rgba(89,197,168,.06);border-color:rgba(89,197,168,.4)}
.clip-channel[data-state="outgoing"] .ch-mark{color:var(--teal-green)}
.clip-channel[data-state="incoming"]{color:var(--text);background:rgba(227,200,122,.06);border-color:rgba(227,200,122,.4)}
.clip-channel[data-state="incoming"] .ch-mark{color:#e3c87a}
.clip-channel[data-state="mutual"]{color:var(--text);background:rgba(89,197,168,.12);border-color:rgba(89,197,168,.6);font-weight:600}
.clip-channel[data-state="mutual"] .ch-mark{color:var(--mint)}

/* TTL-hint pending state — v0.5.2 BUG-007 */
.clip-config-hint.ttl-hint-pending{color:#e3c87a;font-weight:600}
.clip-meta-block input[type=text]{background:rgba(7,11,20,.5);border:1px solid var(--border);border-radius:6px;padding:8px 10px;color:var(--text);font-family:"Space Grotesk",monospace;font-size:1rem;letter-spacing:.04em}
.clip-meta-block input[type=text]:focus{outline:none;border-color:var(--teal-green)}

/* Naam-input — v0.6.1 */
.clip-name-input{background:rgba(7,11,20,.5);border:1px solid var(--border);border-radius:6px;padding:6px 10px;color:var(--text);font-family:inherit;font-size:.82rem;letter-spacing:.02em;margin-top:4px;width:100%;box-sizing:border-box}
.clip-name-input:focus{outline:none;border-color:var(--teal-green)}
.clip-name-input::placeholder{color:var(--dim);font-style:italic}

.clip-btn-mini{margin-top:4px;background:transparent;border:1px solid var(--border);color:var(--dim);font-size:.78rem;padding:6px 10px;border-radius:6px;cursor:pointer;font-family:inherit;transition:all .15s;align-self:flex-start}
.clip-btn-mini:hover{border-color:var(--teal-green);color:var(--teal-green)}
.clip-pair-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}
.clip-pair-actions .clip-btn-mini{margin-top:0}
.clip-btn-stop{border-color:rgba(232,115,107,.4);color:#e8736b}
.clip-btn-stop:hover:not(:disabled){border-color:#e8736b;background:rgba(232,115,107,.08);color:#e8736b}
.clip-btn-stop:disabled{border-color:rgba(40,45,55,.6);color:rgba(85,90,100,.7);background:rgba(7,11,20,.6);cursor:not-allowed;opacity:1}
.clip-btn-regen{margin-top:8px;background:rgba(89,197,168,.1);border:1px solid var(--teal-green);color:var(--teal-green);font-size:.82rem;padding:7px 12px;border-radius:6px;cursor:pointer;font-family:inherit;font-weight:600;transition:all .15s;align-self:flex-start}
.clip-btn-regen:hover{background:var(--teal-green);color:var(--bg)}

/* Sessieduur slider — v0.5.0 Klembord-Cumulonimbus */
.clip-config{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:14px 18px;margin-bottom:18px}
.clip-config-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.clip-config-row label{color:var(--text);font-size:.92rem;flex:0 0 auto}
.clip-config-row label strong{color:var(--mint);text-transform:uppercase;font-size:.78rem;letter-spacing:.5px;margin-right:6px}
.clip-config-row label #cb-ttl-display{color:var(--teal-green);font-family:"Space Grotesk",monospace;font-weight:600;margin-left:4px}
.clip-config-row input[type=range]{flex:1;min-width:200px;accent-color:var(--teal-green);cursor:pointer}
.clip-config-row input[type=range]:disabled{opacity:.55;cursor:not-allowed}
.clip-config-hint{color:var(--dim);font-size:.78rem;flex:1 1 100%}

/* Crypto-bar (global voor sessie) — v0.5.0 */
.clip-crypto-bar{margin-bottom:24px;padding:14px 16px;background:rgba(7,11,20,.3);border:1px dashed var(--border);border-radius:10px}

.clip-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:8px}
.clip-pane{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--border);border-radius:10px;padding:14px 16px 16px}
.clip-pane-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.clip-pane-head label{color:var(--mint);font-size:.78rem;text-transform:uppercase;letter-spacing:.5px;font-weight:600}
.clip-count{color:var(--dim);font-size:.72rem;font-family:monospace}
.clip-pane textarea{flex:1;min-height:240px;resize:vertical;background:rgba(7,11,20,.5);border:1px solid var(--border);border-radius:6px;padding:12px 14px;color:var(--text);font-family:"Space Grotesk",monospace;font-size:.92rem;line-height:1.55}
.clip-pane textarea:focus{outline:none;border-color:var(--teal-green)}
.clip-pane textarea[readonly]{background:rgba(7,11,20,.3);color:var(--dim)}
.clip-pane-actions{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.clip-btn{flex:1;padding:11px 14px;background:var(--teal-green);color:var(--bg);border:none;border-radius:6px;font-family:inherit;font-size:.92rem;font-weight:600;cursor:pointer;transition:background .15s,opacity .15s}
.clip-btn:hover{background:#6fd3b8}
.clip-btn:disabled{opacity:.45;cursor:not-allowed}
.clip-btn-ghost{background:transparent;border:1px solid var(--border);color:var(--dim);flex:0 0 auto}
.clip-btn-ghost:hover{border-color:var(--teal-green);color:var(--teal-green);background:transparent}

.clip-info{background:rgba(89,197,168,.06);border:1px solid var(--border);border-radius:10px;padding:18px 22px;margin:32px 0 24px}
.clip-info h3{color:var(--mint);font-size:1rem;margin:0 0 10px;font-weight:600}
.clip-info ol{margin:0 0 12px 20px;color:var(--text);line-height:1.7;font-size:.92rem}
.clip-info code{background:rgba(89,197,168,.12);color:var(--teal-green);padding:1px 6px;border-radius:4px;font-size:.88rem}
.clip-disclaimer{color:var(--dim);font-size:.85rem;line-height:1.6;margin:8px 0 0}
.clip-disclaimer a{color:var(--teal-green)}

/* Hoofd-tabs (4 functionaliteiten) — v0.5.0 */
.clip-main-tabs{display:flex;gap:2px;margin:0 0 0;border-bottom:2px solid var(--border);flex-wrap:wrap}
.clip-main-tab{background:transparent;border:none;color:var(--dim);padding:12px 22px;cursor:pointer;font-family:inherit;font-size:.95rem;font-weight:600;border-bottom:3px solid transparent;transition:all .15s;margin-bottom:-2px}
.clip-main-tab:hover{color:var(--text);background:rgba(89,197,168,.04)}
.clip-main-tab.active{color:var(--teal-green);border-bottom-color:var(--teal-green);background:rgba(89,197,168,.06)}
.clip-main-panel{display:none;padding:18px 0 8px;animation:tabFadeIn .2s ease}
.clip-main-panel.active{display:block}
@keyframes tabFadeIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}

.clip-tab-intro{background:rgba(89,197,168,.06);border-left:3px solid var(--teal-green);padding:10px 14px;border-radius:0 6px 6px 0;margin-bottom:16px;color:var(--text);font-size:.88rem;line-height:1.55}
.clip-tab-intro strong{color:var(--mint)}
.clip-tab-intro em{color:var(--text);font-style:normal;background:rgba(89,197,168,.12);padding:0 4px;border-radius:3px}

/* Live-grid — v0.4.0 Klembord-Nimbus */
.live-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:8px}
.live-pane{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--border);border-radius:10px;padding:14px 16px}
.live-pane textarea{min-height:200px;background:rgba(7,11,20,.5);border:1px solid var(--border);border-radius:6px;padding:12px 14px;color:var(--text);font-family:"Space Grotesk",monospace;font-size:.92rem;line-height:1.55;resize:vertical;margin-top:6px}
.live-pane textarea:focus{outline:none;border-color:var(--teal-green)}
.live-pane textarea[readonly]{background:rgba(7,11,20,.3);color:var(--text)}
.live-indicator{display:inline-block;color:var(--dim);font-size:1.6rem;line-height:.4;vertical-align:middle;margin-left:6px;transition:color .25s}
.live-indicator.active{color:var(--teal-green);animation:livePulse 1.2s ease-in-out infinite}
.live-indicator.peer.active{color:#e3c87a}
@keyframes livePulse{0%,100%{opacity:.5}50%{opacity:1}}

/* File-exchange — v0.3.0 Stratus / v0.5.0 fix */
.clip-file-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:8px}
.clip-file-input-wrap{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.clip-btn-file{flex:0 0 auto;background:transparent;border:1px solid var(--border);color:var(--dim);display:inline-flex;align-items:center;justify-content:center;padding:11px 14px;border-radius:6px;font-family:inherit;font-size:.92rem;font-weight:600;cursor:pointer;transition:all .15s}
.clip-btn-file:hover{border-color:var(--teal-green);color:var(--teal-green);background:rgba(89,197,168,.06)}
/* BUG-006 fix: input is offscreen-onzichtbaar maar wel klikbaar via JS-trigger en focus-pad bewaard (vs clip:rect 0 dat sommige browsers blokkeert). */
.cb-file-input-hidden{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}
.clip-file-status{color:var(--dim);font-size:.85rem;min-height:1.4em;font-family:monospace}
.clip-file-status.ok{color:var(--teal-green)}
.clip-file-status.err{color:#e8736b}
.clip-file-peer{flex:1;background:rgba(7,11,20,.5);border:1px solid var(--border);border-radius:6px;padding:14px 16px;min-height:80px;display:flex;align-items:center;justify-content:center;color:var(--dim);font-size:.9rem;margin-bottom:12px}
.clip-file-peer.has{justify-content:flex-start;flex-direction:column;align-items:flex-start;color:var(--text)}
.clip-file-peer .clip-file-name{font-weight:600;color:var(--text);margin-bottom:4px;word-break:break-all}
.clip-file-peer .clip-file-attrs{font-size:.78rem;color:var(--dim);font-family:monospace}
.clip-file-empty{font-style:italic}
.clip-file-encrypted{margin-top:6px;color:#e3c87a;font-size:.78rem;font-family:monospace}
.clip-btn-disabled,.clip-btn-disabled:hover{opacity:.45;cursor:not-allowed;pointer-events:none;background:var(--teal-green);color:var(--bg);text-decoration:none}
a.clip-btn{display:inline-block;text-align:center;text-decoration:none}
a.clip-btn:not(.clip-btn-disabled){text-decoration:none}

/* WhatsApp-stijl chat (was Berichten-log) — v0.5.0 */
.clip-chat{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--border);border-radius:10px;padding:14px 16px;gap:10px}
.clip-chat-stream{min-height:280px;max-height:480px;overflow-y:auto;display:flex;flex-direction:column;gap:6px;padding:8px 4px;background:rgba(7,11,20,.3);border-radius:6px;border:1px solid var(--border)}
.clip-chat-empty{color:var(--dim);text-align:center;font-style:italic;font-size:.9rem;padding:60px 12px;margin:auto}
.chat-msg{max-width:78%;padding:8px 12px;border-radius:10px;font-size:.92rem;line-height:1.45;word-wrap:break-word;white-space:pre-wrap}
.chat-msg.peer{align-self:flex-start;background:rgba(89,197,168,.12);color:var(--text);border:1px solid rgba(89,197,168,.25)}
.chat-msg.mine{align-self:flex-end;background:var(--teal-green);color:var(--bg);border:1px solid var(--teal-green)}
.chat-msg .chat-ts{display:block;font-size:.65rem;opacity:.65;margin-top:3px;font-family:monospace}
.clip-chat-input{display:flex;gap:8px}
.clip-chat-input input[type=text]{flex:1;background:rgba(7,11,20,.5);border:1px solid var(--border);border-radius:6px;padding:10px 12px;color:var(--text);font-family:inherit;font-size:.95rem}
.clip-chat-input input[type=text]:focus{outline:none;border-color:var(--teal-green)}
.clip-btn-chat{flex:0 0 auto;padding:10px 18px}
.clip-chat-meta{font-size:.72rem;color:var(--dim);font-family:monospace;text-align:right}

/* Crypto-modi (Open/sk1/kp1) — v0.4.0 Nimbus, banners uitgebreid v0.5.0 */
.crypto-modes{display:inline-flex;gap:0;border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-bottom:14px;background:rgba(7,11,20,.4)}
.crypto-mode{background:transparent;border:none;color:var(--dim);padding:8px 16px;cursor:pointer;font-family:inherit;font-size:.88rem;transition:all .15s;border-right:1px solid var(--border)}
.crypto-mode:last-child{border-right:none}
.crypto-mode:hover{color:var(--text)}
.crypto-mode.active{background:var(--teal-green);color:var(--bg);font-weight:600}

/* Per-modus risk-banners (v0.5.0 — Open is geel-licht, sk1 oranje, kp1 dieper oranje) */
.crypto-warning{border-radius:8px;padding:12px 16px;margin-bottom:14px;font-size:.88rem;line-height:1.55}
.crypto-warning strong{display:block;margin-bottom:4px}
.crypto-warning a{color:var(--teal-green)}
.crypto-risk-open{background:rgba(227,200,122,.08);border:1px solid rgba(227,200,122,.4);color:var(--text)}
.crypto-risk-open strong{color:#e3c87a}
.crypto-risk-sk1{background:rgba(232,167,107,.08);border:1px solid rgba(232,167,107,.4);color:var(--text)}
.crypto-risk-sk1 strong{color:#e8a76b}
.crypto-risk-kp1{background:rgba(232,115,107,.08);border:1px solid rgba(232,115,107,.4);color:var(--text)}
.crypto-risk-kp1 strong{color:#e8736b}

.crypto-panel{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:16px 18px;margin-bottom:14px;display:flex;flex-direction:column;gap:12px}
.crypto-row{display:flex;flex-direction:column;gap:6px}
.crypto-row label{color:var(--mint);font-size:.78rem;text-transform:uppercase;letter-spacing:.5px;font-weight:600}
.crypto-row textarea{background:rgba(7,11,20,.5);border:1px solid var(--border);border-radius:6px;padding:10px 12px;color:var(--text);font-family:"Space Grotesk",monospace;font-size:.85rem;line-height:1.4;resize:vertical;word-break:break-all}
.crypto-row textarea:focus{outline:none;border-color:var(--teal-green)}
.crypto-row textarea[readonly]{background:rgba(7,11,20,.3);color:var(--text)}
.crypto-actions{display:flex;gap:8px;flex-wrap:wrap}
.crypto-hint{color:var(--dim);font-size:.82rem;line-height:1.55}
.crypto-hint strong{color:var(--text)}

/* Scherm delen — v0.6.0 Klembord-Lenticularis */
.clip-screen-warning{background:rgba(232,167,107,.08);border:1px solid rgba(232,167,107,.4);border-radius:8px;padding:12px 16px;margin-bottom:14px;color:var(--text);font-size:.88rem;line-height:1.55}
.clip-screen-warning strong{color:#e8a76b;display:block;margin-bottom:4px}

.clip-screen-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:14px}
.clip-screen-pane{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--border);border-radius:10px;padding:14px 16px}
.clip-screen-video{width:100%;max-height:280px;background:#000;border-radius:6px;margin-top:6px;border:1px solid var(--border);object-fit:contain}
.clip-screen-receiver-info{flex:1;min-height:180px;display:flex;align-items:center;justify-content:center;background:rgba(7,11,20,.5);border:1px solid var(--border);border-radius:6px;color:var(--dim);font-style:italic;margin-top:6px;font-size:.9rem;padding:6px;overflow:hidden}
.clip-screen-receiver-info[data-state="incoming"],
.clip-screen-receiver-info[data-state="connecting"]{color:#e3c87a;font-style:italic}
.clip-screen-receiver-info[data-state="active"]{padding:0;background:#000;font-style:normal}
.clip-screen-preview{width:100%;height:100%;max-height:280px;object-fit:contain;display:block}
.screen-indicator{display:inline-block;color:var(--dim);font-size:1.4rem;line-height:.4;vertical-align:middle;margin-left:6px;transition:color .25s}
.screen-indicator.active{color:var(--teal-green);animation:livePulse 1.2s ease-in-out infinite}
.screen-indicator.peer.active{color:#e3c87a}

.clip-screen-meta{font-size:.82rem;color:var(--dim);font-family:monospace;padding:8px 12px;background:rgba(7,11,20,.3);border-radius:6px;border:1px solid var(--border)}
.clip-screen-meta.ok{color:var(--teal-green)}
.clip-screen-meta.err{color:#e8736b}
.clip-screen-meta.busy{color:#e3c87a}

/* Fullscreen overlay voor remote stream (receiver) */
.clip-screen-fullscreen{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000;z-index:9999;display:none}
.clip-screen-fullscreen.active{display:flex !important;align-items:center;justify-content:center}
.clip-screen-fullscreen video{max-width:100%;max-height:100%;object-fit:contain}
.clip-screen-fs-controls{position:fixed;top:18px;right:18px;display:flex;gap:8px;z-index:10000;flex-wrap:wrap;max-width:calc(100vw - 36px);justify-content:flex-end}
.clip-screen-fs-btn{background:rgba(7,11,20,.85);color:#fff;border:1px solid rgba(120,125,135,.5);border-radius:6px;padding:10px 14px;font-family:inherit;font-size:.92rem;font-weight:600;cursor:pointer;transition:all .15s}
.clip-screen-fs-btn:hover:not(:disabled){background:rgba(7,11,20,1);border-color:var(--teal-green);color:var(--teal-green)}
.clip-screen-fs-btn:disabled{opacity:.55;cursor:not-allowed;background:rgba(7,11,20,.6);border-color:rgba(60,65,75,.5);color:rgba(160,165,175,.7)}
.clip-screen-fs-btn.active{background:rgba(89,197,168,.85);border-color:var(--teal-green);color:var(--bg)}
.clip-screen-fs-counter{position:fixed;top:18px;left:18px;background:rgba(7,11,20,.85);color:var(--mint);border:1px solid var(--border);border-radius:6px;padding:8px 12px;font-family:"Space Grotesk",monospace;font-size:.78rem;z-index:10000}

/* Peer pointer overlay — v0.8.13 (full-viewport, niet alleen mini-preview) */
.cb-peer-pointer{position:fixed;width:32px;height:32px;border:4px solid #e8736b;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);box-shadow:0 0 18px rgba(232,115,107,.85),inset 0 0 8px rgba(232,115,107,.4);z-index:99999;transition:left 60ms linear,top 60ms linear;background:rgba(232,115,107,.15)}
.cb-peer-pointer.click{background:rgba(232,115,107,.5);animation:peerClick .25s ease}
@keyframes peerClick{0%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.8)}100%{transform:translate(-50%,-50%) scale(1)}}
.cb-peer-ripple{position:fixed;width:20px;height:20px;border:3px solid #e8736b;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);z-index:99998;animation:peerRipple .6s ease-out forwards}
@keyframes peerRipple{0%{opacity:1;transform:translate(-50%,-50%) scale(.5)}100%{opacity:0;transform:translate(-50%,-50%) scale(4)}}
.cb-peer-keyhint{position:fixed;top:24px;left:50%;transform:translateX(-50%);background:rgba(7,11,20,.95);color:#e3c87a;border:2px solid rgba(227,200,122,.6);border-radius:8px;padding:10px 18px;font-family:"Space Grotesk",monospace;font-size:1.05rem;font-weight:600;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none;z-index:99999;box-shadow:0 4px 16px rgba(0,0,0,.4)}
.cb-peer-keyhint.show{opacity:1;transform:translateX(-50%) translateY(0)}
.clip-screen-pane{position:relative}
.clip-screen-fs-close{background:rgba(232,115,107,.85);border-color:#e8736b}
.clip-screen-fs-close:hover{background:#e8736b;border-color:#e8736b;color:#fff}

/* Install-app modal — v0.7.0 Klembord-Pyrocumulus */
.clip-modal{position:fixed;inset:0;z-index:20000;display:flex;align-items:center;justify-content:center;padding:18px}
.clip-modal[hidden]{display:none !important}
.clip-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.75);backdrop-filter:blur(4px)}
.clip-modal-content{position:relative;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:24px 28px;max-width:440px;width:100%;color:var(--text);box-shadow:0 8px 32px rgba(0,0,0,.4)}
.clip-modal-content h3{color:var(--mint);font-size:1.1rem;margin:0 0 12px;font-weight:600}
.clip-modal-content p{line-height:1.55;font-size:.92rem;margin:0 0 12px}
.clip-modal-lead{color:var(--dim)}
.clip-modal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.clip-modal-actions .clip-btn{flex:1 1 auto;min-width:140px}
.clip-modal-note{margin-top:18px;padding:12px 14px;background:rgba(232,167,107,.08);border:1px solid rgba(232,167,107,.4);border-radius:8px;color:var(--text);font-size:.88rem}
.clip-modal-note p{margin:0 0 8px}
.clip-modal-note p:last-child{margin:0}
.clip-modal-note a{color:var(--teal-green);font-weight:600}
.clip-modal-hint{color:var(--dim);font-size:.82rem;font-style:italic}

/* Companion claim-code generator — v0.8.2 */
.clip-screen-companion{margin-top:18px;padding:14px 16px;background:rgba(89,197,168,.06);border:1px solid var(--border);border-radius:10px}
.clip-screen-companion-title{color:var(--mint);font-size:.95rem;margin:0 0 8px;font-weight:600}
.clip-screen-companion-lead{color:var(--dim);font-size:.85rem;margin:0 0 12px;line-height:1.5}
.clip-screen-companion-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.clip-screen-companion-ttl{color:#e3c87a;font-family:"Space Grotesk",monospace;font-size:.82rem}
.clip-screen-companion-output{margin-top:14px;padding:12px 14px;background:rgba(7,11,20,.4);border:1px solid var(--border);border-radius:8px}
.clip-screen-companion-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px;font-size:.85rem}
.clip-screen-companion-row label{color:var(--mint);font-size:.78rem;font-weight:600;min-width:90px}
.clip-screen-companion-row code{flex:1 1 auto;background:rgba(0,0,0,.4);padding:6px 10px;border-radius:4px;color:var(--text);font-family:"Space Grotesk",monospace;font-size:.78rem;word-break:break-all;border:1px solid var(--border)}
.clip-screen-companion-hint{color:var(--dim);font-size:.78rem;font-style:italic;margin:8px 0 0;line-height:1.4}
.clip-screen-helper-status{margin-top:10px;padding:8px 12px;background:rgba(7,11,20,.4);border:1px solid var(--border);border-radius:6px;font-size:.82rem;font-family:"Space Grotesk",monospace;color:var(--dim)}
.clip-screen-helper-status.ok{color:var(--teal-green);border-color:rgba(89,197,168,.4);background:rgba(89,197,168,.06)}
.clip-screen-helper-status.err{color:#e8736b;border-color:rgba(232,115,107,.4);background:rgba(232,115,107,.06)}
.clip-screen-helper-status.busy{color:#e3c87a;border-color:rgba(227,200,122,.4);background:rgba(227,200,122,.06)}

@media (max-width:780px){
  .clip-meta{grid-template-columns:1fr;gap:12px}
  .clip-grid{grid-template-columns:1fr}
  .clip-pane textarea{min-height:170px}
  .clip-file-grid{grid-template-columns:1fr}
  .clip-chat-stream{max-height:320px}
  .chat-msg{max-width:90%}
  .crypto-modes{display:flex;width:100%}
  .crypto-mode{flex:1}
  .live-grid{grid-template-columns:1fr}
  .live-pane textarea{min-height:140px}
  .clip-main-tabs{gap:0}
  .clip-main-tab{padding:10px 12px;font-size:.85rem;flex:1 1 auto}
  .clip-screen-grid{grid-template-columns:1fr}
  .clip-config-row{flex-direction:column;align-items:stretch;gap:8px}
  .clip-config-row label{text-align:left}
  .clip-config-row input[type=range]{min-width:100%}
}

/* v0.11 Klembord-Fractus: één-klik "laat iemand meekijken"-uitnodiging */
.clip-screen-invite{margin:0 0 14px;padding:14px 16px;background:rgba(89,197,168,.08);border:1px solid var(--teal-green);border-radius:10px}
.clip-screen-invite-out{margin-top:12px;padding:12px 14px;background:rgba(7,11,20,.4);border:1px solid var(--border);border-radius:8px}
.clip-screen-invite-lead{color:var(--text);font-size:.86rem;margin:0 0 10px;line-height:1.5}
.clip-screen-invite-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.clip-screen-invite-url{flex:1 1 auto;background:rgba(0,0,0,.4);padding:6px 10px;border-radius:4px;color:var(--mint);font-family:"Space Grotesk",monospace;font-size:.8rem;word-break:break-all;border:1px solid var(--border)}
.clip-screen-invite-hint{color:var(--dim);font-size:.78rem;font-style:italic;margin:10px 0 0;line-height:1.4}
