/* Suggestion Box. Falls back to literal values so it still renders outside the possession-hub theme. */
.tcosi-ideas{
  --ti-bg:var(--ph-void,#0d1016);--ti-panel:var(--ph-panel,#161b24);--ti-raised:var(--ph-panel-raised,#1f2632);
  --ti-line:var(--ph-line,rgba(210,225,255,.08));--ti-line-strong:var(--ph-line-strong,rgba(210,225,255,.16));
  --ti-ink:var(--ph-ink,#eef1fb);--ti-dim:var(--ph-ink-dim,rgba(238,241,251,.62));--ti-faint:var(--ph-ink-faint,rgba(238,241,251,.36));
  --ti-accent:var(--ph-ember,#8fa4e6);--ti-accent-ink:var(--ph-ember-ink,#0d1425);--ti-accent-dim:var(--ph-ember-dim,rgba(143,164,230,.16));
  --ti-parchment:var(--ph-parchment,#c9bf95);
  max-width:820px;margin:0 auto;color:var(--ti-ink);font-family:var(--font-body,system-ui,sans-serif);
}
.tcosi-ideas *,.tcosi-ideas *::before,.tcosi-ideas *::after{box-sizing:border-box;}

.tcosi-ideas-gate{background:var(--ti-panel);border:1px solid var(--ti-line);border-radius:12px;padding:32px 24px;text-align:center;}
.tcosi-ideas-gate h2{font-family:var(--font-display,Georgia,serif);margin:0 0 10px;}
.tcosi-ideas-gate p{color:var(--ti-dim);margin:0 auto 20px;max-width:520px;line-height:1.6;}

.tcosi-ideas-intro{color:var(--ti-dim);line-height:1.6;margin:0 0 18px;}
.tcosi-ideas-loading,.tcosi-ideas-empty{color:var(--ti-dim);text-align:center;padding:32px 0;}

.tcosi-ideas-panel{background:var(--ti-panel);border:1px solid var(--ti-line);border-radius:12px;margin:0 0 20px;}
.tcosi-ideas-banned{padding:14px 18px;color:var(--ti-dim);}
.tcosi-ideas-banned p{margin:0;}
.tcosi-ideas-submit summary{list-style:none;padding:14px 18px;cursor:pointer;}
.tcosi-ideas-submit summary::-webkit-details-marker{display:none;}
.tcosi-ideas-submit[open] summary{border-bottom:1px solid var(--ti-line);}

.tcosi-ideas-form{padding:18px;display:grid;gap:16px;}
.tcosi-ideas-form>label{display:grid;gap:6px;position:relative;}
.tcosi-ideas-form>label>span{font-size:13px;font-weight:700;letter-spacing:.02em;color:var(--ti-dim);}
.tcosi-ideas-form input[type=text],.tcosi-ideas-form select,.tcosi-ideas-form textarea{
  width:100%;background:var(--ti-bg);color:var(--ti-ink);border:1px solid var(--ti-line-strong);border-radius:8px;
  padding:10px 12px;font:inherit;font-size:15px;
}
.tcosi-ideas-form textarea{resize:vertical;min-height:110px;}
.tcosi-ideas-form input:focus,.tcosi-ideas-form select:focus,.tcosi-ideas-form textarea:focus{outline:2px solid var(--ti-accent);outline-offset:1px;}
.tcosi-ideas-counter{justify-self:end;font-size:12px;color:var(--ti-faint);font-family:var(--font-mono,monospace);}
.tcosi-ideas-form>.btn{justify-self:start;}
.tcosi-ideas-form button[disabled]{opacity:.6;cursor:wait;}

.tcosi-ideas-terms{background:var(--ti-bg);border:1px solid var(--ti-line);border-left:3px solid var(--ti-parchment);border-radius:8px;padding:14px 16px;}
.tcosi-ideas-terms strong{display:block;margin-bottom:6px;color:var(--ti-parchment);}
.tcosi-ideas-terms ul{margin:0 0 12px;padding-left:20px;color:var(--ti-dim);line-height:1.6;font-size:14px;}
.tcosi-ideas-agree{display:flex;gap:10px;align-items:center;font-weight:700;font-size:14px;cursor:pointer;}
.tcosi-ideas-agree input{width:18px;height:18px;accent-color:var(--ti-accent);}

.tcosi-ideas-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 16px;}
.tcosi-ideas-seg{display:inline-flex;border:1px solid var(--ti-line-strong);border-radius:8px;overflow:hidden;}
.tcosi-ideas-seg button{background:transparent;color:var(--ti-dim);border:0;border-right:1px solid var(--ti-line);padding:8px 12px;font:inherit;font-size:13px;font-weight:700;cursor:pointer;}
.tcosi-ideas-seg button:last-child{border-right:0;}
.tcosi-ideas-seg button[aria-pressed=true]{background:var(--ti-accent-dim);color:var(--ti-ink);}
.tcosi-ideas-seg button:focus-visible{outline:2px solid var(--ti-accent);outline-offset:-2px;}

.tcosi-ideas-list{display:grid;gap:12px;}
.tcosi-ideas-card{display:flex;gap:16px;background:var(--ti-panel);border:1px solid var(--ti-line);border-radius:12px;padding:16px;}
.tcosi-ideas-card.is-claimed{opacity:.62;}
.tcosi-ideas-vote{
  flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  width:52px;height:60px;background:var(--ti-bg);color:var(--ti-dim);border:1px solid var(--ti-line-strong);border-radius:10px;
  font:inherit;font-weight:700;font-size:15px;cursor:pointer;transition:transform .12s ease,background .12s ease,color .12s ease;
}
.tcosi-ideas-vote:hover{transform:translateY(-1px);color:var(--ti-ink);}
.tcosi-ideas-vote.is-voted{background:var(--ti-accent);border-color:var(--ti-accent);color:var(--ti-accent-ink);}
.tcosi-ideas-vote:focus-visible{outline:2px solid var(--ti-accent);outline-offset:2px;}
.tcosi-ideas-arrow{font-size:12px;line-height:1;}
.tcosi-ideas-body{flex:1;min-width:0;}
.tcosi-ideas-meta{display:flex;gap:6px;font-size:12px;color:var(--ti-faint);margin-bottom:4px;}
.tcosi-ideas-type{color:var(--ti-accent);font-weight:700;text-transform:uppercase;letter-spacing:.06em;}
.tcosi-ideas-body h3{margin:0 0 6px;font-family:var(--font-display,Georgia,serif);font-size:19px;line-height:1.3;overflow-wrap:anywhere;}
.tcosi-ideas-desc{margin:0 0 12px;color:var(--ti-dim);line-height:1.6;white-space:pre-line;overflow-wrap:anywhere;}
.tcosi-ideas-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;}
.tcosi-ideas-claim{display:flex;align-items:center;gap:10px;}
.tcosi-ideas-badge{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:4px 10px;border-radius:999px;background:var(--ti-raised);color:var(--ti-dim);}
.tcosi-ideas-badge.is-mine{background:var(--ti-accent-dim);color:var(--ti-accent);}
.tcosi-ideas-link{background:none;border:0;padding:0;color:var(--ti-faint);font:inherit;font-size:13px;text-decoration:underline;cursor:pointer;}
.tcosi-ideas-link:hover{color:var(--ti-ink);}
.tcosi-ideas-muted{color:var(--ti-faint);font-size:13px;}
.tcosi-ideas .btn-sm{padding:7px 14px;font-size:13px;}
.tcosi-ideas-more{display:flex;margin:18px auto 0;}

.tcosi-ideas-dialog{background:var(--ti-panel,#161b24);color:var(--ti-ink,#eef1fb);border:1px solid var(--ti-line-strong,rgba(210,225,255,.16));border-radius:12px;padding:22px;width:min(440px,calc(100vw - 32px));}
.tcosi-ideas-dialog::backdrop{background:rgba(0,0,0,.6);}
.tcosi-ideas-dialog h3{margin:0 0 4px;}
.tcosi-ideas-dialog fieldset{border:0;padding:0;margin:14px 0;display:grid;gap:10px;}
.tcosi-ideas-dialog label{display:flex;gap:10px;align-items:flex-start;cursor:pointer;line-height:1.4;}
.tcosi-ideas-dialog-actions{display:flex;justify-content:flex-end;gap:10px;}

.tcosi-ideas-toast{
  position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;pointer-events:none;
  background:#1f2632;color:#eef1fb;border:1px solid rgba(210,225,255,.16);border-radius:10px;padding:12px 18px;
  font-size:14px;max-width:calc(100vw - 32px);z-index:9999;transition:opacity .2s ease,transform .2s ease;
}
.tcosi-ideas-toast.is-visible{opacity:1;transform:translate(-50%,0);}
.tcosi-ideas-toast.is-error{border-color:#b85c5c;}

@media (max-width:560px){
  .tcosi-ideas-card{gap:12px;padding:14px;}
  .tcosi-ideas-vote{width:44px;height:54px;}
  .tcosi-ideas-seg button{padding:8px 10px;}
}
