:root {
  --radius-control: 12px;
  --radius-card: 16px;
  --control-height: 44px;
  --focus-ring: #8c63ff;
}

.composer-card, .composer-card button, .composer-card input, .composer-card textarea { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }

button, input, select, textarea { -webkit-tap-highlight-color: transparent; }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: 3px;
}
.gradient-btn, .primary-outline, .new-content {
  min-height: var(--control-height);
  border-radius: var(--radius-control);
}
.explore-workspace input, .explore-workspace select,
.composer-card input, .composer-card select,
.profile-editor input, .profile-editor select,
.appearance-hub select {
  min-height: var(--control-height);
  border-radius: var(--radius-control);
}

.brand-logo {
  display: block;
  width: 48px;
  height: 48px;
  object-fit: contain;
  filter: drop-shadow(0 0 16px #743dff55);
}

.brand strong {
  background: linear-gradient(90deg, #2680ff, #8d4aff 58%, #f12cac);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}

@media (max-width: 850px) {
  .brand-logo {
    width: 40px;
    height: 40px;
  }
}

.view-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  margin: 2px 2px 16px;
}

.view-head h1 {
  margin: 4px 0;
  font-size: 1.8rem;
}

.view-head p {
  margin: 0;
  color: var(--muted);
}

.eyebrow {
  color: #956dff;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.16em;
}

.new-content,
.primary-outline {
  border: 1px solid #7247df;
  border-radius: 10px;
  background: #17142d;
  color: #bca8ff;
  padding: 11px 15px;
  cursor: pointer;
  white-space: nowrap;
}
.manage-post { margin-left:auto; align-self:flex-start; border:1px solid #476f9f; border-radius:999px; background:#123657; color:#72c9ff; padding:6px 10px; cursor:pointer; font-size:.75rem; font-weight:700; line-height:1; min-height:30px; display:inline-flex; align-items:center; justify-content:center; white-space:nowrap; }
.manage-post + .content-badge { margin-left:0; }

.learning-card h2 {
  margin: 6px 0 10px;
  font-size: 1.25rem;
  line-height: 1.35;
}

.content-badge {
  margin-left: auto;
  align-self: start;
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1;
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}

.question-badge { background: #16466f; color: #69c5ff; }
.solution-badge { background: #113f35; color: #66e3ba; }
.exercise-badge { background: #493614; color: #f1c762; }
.verified-badge { background: #173e37; color: #76e6c0; }
.talent-badge { background: #4d244e; color: #f590ee; }
.question-avatar { background: linear-gradient(145deg, #543878, #bc6ddd); }
.teacher-avatar { background: linear-gradient(145deg, #195471, #4ca3b2); }

.subject-row,
.skill-chips,
.exercise-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 14px;
}

.subject-row span,
.skill-chips span,
.exercise-meta span {
  padding: 6px 9px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: #b9c4d3;
  background: #0a1320;
  font-size: 0.78rem;
}

.attempt {
  margin: 5px 18px 14px;
  padding: 13px 15px;
  border-left: 3px solid #6e50d9;
  background: #12182a;
  color: #cbd3de;
}

.attempt p { margin: 6px 0 0; }
.answer-block { position:relative; margin:0; border:0; border-top:1px solid var(--line); border-radius:0; overflow:hidden; }
.answer-block.validated { background:#10251f55; }
.solution-label { padding:8px 12px; background:#123b34; color:#73e3bf; font-size:.8rem; font-weight:700; }

.solution-top {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 20px 20px 8px;
}

.solution-top h2 { margin-top: 9px; }
.verified-seal { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: #13493e; color: #71e2bd; font-size: 1.5rem; }
.origin-question { margin: 10px 20px; padding: 14px; border-radius: 11px; background: #091321; display: grid; grid-template-columns: 1fr auto; gap: 5px 12px; }
.origin-question span { grid-column: 1 / -1; color: var(--muted); font-size: 0.8rem; }
.origin-question button { border: 0; background: none; color: #9a75ff; cursor: pointer; }
.solution-body { padding: 2px 20px 18px; line-height: 1.6; }
.post-head.compact { padding-left: 0; }
.formula { padding: 15px; border: 1px solid #35445d; border-radius: 10px; background: #07101c; color: #d8e4ff; text-align: center; font-weight: 700; }
.formula.large { margin: 16px 0; font-size: 1.45rem; }
.validation-row { display: flex; justify-content: space-between; gap: 15px; padding: 12px 20px; background: #0d1923; color: #aebac8; font-size: 0.8rem; }

.exercise-meta .medium { border-color: #7e5b1d; color: #e7bd60; }
.exercise-actions { display: flex; gap: 10px; padding: 5px 18px 18px; }
.exercise-actions button:last-child { border: 0; background: none; color: #9b78ff; cursor: pointer; }
.exercise-actions button:disabled { color: #687285; cursor: not-allowed; }
.sample-exercise-form { margin: -5px 18px 18px; padding: 14px; border: 1px solid #38445a; border-radius: 11px; background: #0a1422; }
.sample-exercise-form label span { display: block; margin-bottom: 6px; font-weight: 700; }
.sample-exercise-form textarea { width: 100%; min-height: 100px; margin-bottom: 10px; resize: vertical; border: 1px solid #33435b; border-radius: 9px; background: #07101c; color: white; padding: 10px; font: inherit; }
.correction { margin: 0 18px 18px; padding: 15px; border-radius: 11px; background: #10261f; border: 1px solid #255e4e; }
.correction p { margin: 8px 0; }
.exercise-attempt-panel { margin: 4px 18px 18px; padding: 15px; border: 1px solid #38445a; border-radius: 12px; background: #0a1422; }
.exercise-attempt-status { margin-bottom: 12px; color: #bdc7d6; font-size: .88rem; line-height: 1.45; }
.exercise-attempt-form { display: grid; gap: 10px; }
.exercise-attempt-form label span { display: block; margin-bottom: 6px; color: #e6ebf2; font-weight: 700; }
.exercise-attempt-form textarea { width: 100%; min-height: 104px; resize: vertical; border: 1px solid #33435b; border-radius: 10px; background: #07101c; color: white; padding: 11px 12px; font: inherit; line-height: 1.45; }
.exercise-attempt-form textarea:focus { outline: 2px solid #7b5dea; outline-offset: 1px; }
.exercise-attempt-form .primary-outline { justify-self: start; }
.correction-toggle { margin-top: 12px; border: 0; background: none; color: #a98aff; font-weight: 700; cursor: pointer; }
.exercise-attempt-panel .correction { margin: 12px 0 0; }

.course-cover { min-height: 190px; padding: 30px; display: flex; flex-direction: column; justify-content: end; background: radial-gradient(circle at 80% 25%, #b32cc8 0, transparent 22%), linear-gradient(135deg, #101c43, #442078 55%, #951c88); }
.course-cover span { color: #d8caff; font-size: 0.8rem; font-weight: 700; letter-spacing: 0.12em; }
.course-cover strong { margin: 8px 0; max-width: 500px; font-size: 1.8rem; }
.course-cover small { color: #d4cee2; }
.lesson-list { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 16px; }
.lesson-list span { padding: 11px; border-radius: 9px; background: #0a1422; color: #c3ccda; }
.course-rating { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; padding: 15px 18px; background: #0b1521; }
.course-rating strong { color: #f2cc61; }
.course-rating span { color: var(--muted); font-size: 0.82rem; }
.course-rating-summary { display: flex; flex-direction: column; gap: 3px; min-width: 145px; }
.rating-stars { display: flex; align-items: center; gap: 3px; }
.rating-stars button { border: 0; background: transparent; color: #596275; padding: 4px; font-size: 1.35rem; line-height: 1; cursor: pointer; }
.rating-stars button:hover, .rating-stars button:focus-visible, .rating-stars button.rated { color: #f2cc61; }
.rating-stars button:focus-visible { outline: 2px solid #9b78ff; outline-offset: 2px; border-radius: 4px; }
.rating-stars button:disabled { cursor: default; opacity: .72; }
.course-rating[data-owner="true"] .rating-stars { display: none; }
.course-certification { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 14px 18px 18px; padding: 14px; border: 1px solid #594d2c; border-radius: 11px; background: #211d11; }
.course-certification > div { display: flex; flex-direction: column; gap: 4px; }
.course-certification strong { color: #e7c96e; }
.course-certification span { color: #b9b29c; font-size: .82rem; line-height: 1.4; }
.course-certification button { flex: 0 0 auto; border: 0; border-radius: 9px; padding: 10px 13px; background: linear-gradient(100deg, #2b64d9, #7b45de); color: white; font-weight: 700; cursor: pointer; }
.course-certification button:disabled { opacity: .65; cursor: wait; }
.course-certification.certified { border-color: #286653; background: #0d251f; }
.course-certification.certified strong { color: #72dfbb; }
.course-certifiers { display: flex; flex-wrap: wrap; gap: 5px 10px; margin-top: 3px; }
.course-certifiers span { color: #92d9c2; }

.talent-visual { position: relative; height: 330px; overflow: hidden; }
.talent-visual img { width: 100%; height: 100%; object-fit: cover; }
.talent-visual::after { content: ""; position: absolute; inset: 40% 0 0; background: linear-gradient(transparent, #08111f); }
.talent-visual div { position: absolute; z-index: 1; left: 22px; right: 22px; bottom: 20px; display: flex; flex-direction: column; gap: 6px; }
.talent-visual span { color: #dab8ff; font-size: 0.75rem; font-weight: 800; letter-spacing: 0.12em; }
.talent-visual strong { font-size: 1.5rem; }
.opportunity { margin: 0 18px 18px; padding: 14px; border: 1px solid #6f3582; border-radius: 11px; background: #23152e; display: flex; justify-content: space-between; align-items: center; gap: 15px; }
.opportunity div { display: flex; flex-direction: column; gap: 5px; }
.opportunity span { color: #cbb9d3; font-size: 0.8rem; }
.opportunity button { border: 0; border-radius: 9px; padding: 11px 13px; background: linear-gradient(100deg, #5c4df1, #ba2fae); color: white; cursor: pointer; }
.opportunity small { color: #a997b1; font-size: .78rem; }
.opportunity-form { margin: -8px 18px 18px; padding: 14px; border: 1px solid #6f3582; border-radius: 11px; background: #151021; }
.opportunity-form[hidden] { display: none; }
.opportunity-form label { display: block; margin-bottom: 11px; }
.opportunity-form label span { display: block; margin-bottom: 5px; color: #dfd6e7; font-weight: 700; }
.opportunity-form select, .opportunity-form textarea, .opportunity-form input { width: 100%; border: 1px solid #4e3c5c; border-radius: 9px; background: #090f1b; color: white; padding: 10px 11px; font: inherit; }
.opportunity-form textarea { min-height: 100px; resize: vertical; line-height: 1.45; }
.opportunity-form .gradient-btn { width: auto; padding: 11px 15px; }
.incoming-opportunities { margin: 0 18px 18px; }
.opportunity-proposal { margin-top: 10px; padding: 13px; border: 1px solid #4e3c5c; border-radius: 10px; background: #111525; }
.opportunity-proposal > div:first-child { display: flex; flex-direction: column; gap: 3px; }
.opportunity-proposal span, .opportunity-proposal small { color: #aeb8c7; }
.opportunity-proposal p { color: #d4dbe5; line-height: 1.48; }
.opportunity-proposal.accepted { border-color: #2b6755; background: #0d251f; }
.opportunity-proposal.declined { opacity: .72; }
.opportunity-proposal > b { display: block; margin-top: 9px; color: #72dfbb; }
.opportunity-decisions { display: flex; gap: 8px; margin-top: 11px; }
.opportunity-decisions button { border: 0; border-radius: 8px; padding: 9px 12px; background: #174c40; color: #7de5c2; font-weight: 700; cursor: pointer; }
.opportunity-decisions button:last-child { background: #462333; color: #f0a8c2; }
.opportunity-decisions button:disabled { opacity: .6; cursor: wait; }
.opportunity-history .result-title > div { display: grid; gap: 4px; }
.opportunity-history .result-title small { color: var(--muted); font-weight: 400; }
.opportunity-history-filters { display: flex; gap: 8px; margin: 16px 0; overflow-x: auto; scrollbar-width: none; }
.opportunity-history-filters::-webkit-scrollbar { display: none; }
.opportunity-history-filters button { flex: 0 0 auto; border: 1px solid var(--line); border-radius: 999px; padding: 8px 12px; background: #0b1522; color: #b9c4d4; cursor: pointer; }
.opportunity-history-filters button.active { border-color: #8d63f6; background: #291d4d; color: #d9ccff; }
.opportunity-history-list { display: grid; gap: 10px; }
.opportunity-history-item { padding: 14px; border: 1px solid var(--line); border-radius: 13px; background: #0b1421; }
.opportunity-history-item.accepted { border-color: #2f7561; background: #0b211d; }
.opportunity-history-item.declined { opacity: .78; }
.opportunity-history-head, .opportunity-history-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.opportunity-history-head > div { min-width: 0; display: grid; gap: 4px; }
.opportunity-history-head small, .opportunity-history-foot time { color: var(--muted); }
.opportunity-history-head strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.opportunity-history-head > span { flex: 0 0 auto; border-radius: 999px; padding: 5px 9px; background: #34204a; color: #d5b9ff; font-size: .78rem; font-weight: 700; }
.opportunity-history-item.accepted .opportunity-history-head > span { background: #173d34; color: #79e1be; }
.opportunity-history-item.declined .opportunity-history-head > span { background: #3b202a; color: #efa7bc; }
.opportunity-history-item p { margin: 12px 0; color: #cbd4e1; line-height: 1.45; }
.opportunity-history-foot button { border: 0; border-radius: 9px; padding: 8px 11px; background: #2b2357; color: #cbbcff; font-weight: 700; cursor: pointer; }
@media(max-width:520px){.opportunity-history .result-title{align-items:flex-start}.opportunity-history-head{align-items:flex-start}.opportunity-history-head strong{white-space:normal}.opportunity-history-item p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}}

.dialog-help { color: var(--muted); margin-bottom: 10px; }
.composer-card { width: min(690px, calc(100vw - 24px)); max-height: min(88dvh, 760px); padding: 0; overflow: hidden; display: grid; grid-template-rows: auto auto auto minmax(0, 1fr) auto; }
.dialog-title { padding: 20px 22px 0; }
.dialog-title > div { display: block; }
.dialog-title h2 { margin-top: 4px; }
.dialog-help { padding: 0 22px; }
.composer-card > .publish-types { margin: 0 22px 14px; }
.composer-scroll { display: block !important; min-width: 0; min-height: 0; padding: 0 22px 18px; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; touch-action: pan-y; scroll-padding: 12px 0 24px; }
.composer-card > .gradient-btn { border-radius: 0; padding: 17px; }
.composer-main { position: relative; }
.composer-main small { position: absolute; right: 10px; bottom: 9px; color: var(--muted); font-size: .72rem; }
.composer-card label > span { display: block; margin-bottom: 7px; color: #dce2eb; font-size: .84rem; font-weight: 600; }
.composer-card input, .composer-card select, .composer-card textarea { width: 100%; border: 1px solid var(--line); border-radius: 10px; background: #09121f; color: white; padding: 11px 12px; outline: 0; }
.composer-card input:focus, .composer-card select:focus, .composer-card textarea:focus { border-color: #8659ff; box-shadow: 0 0 0 3px #8659ff22; }
.composer-card textarea { height: auto; min-height: 78px; resize: vertical; }
.composer-card .composer-main textarea { min-height: 104px; padding-bottom: 28px; }
.composer-card label { display: block; margin: 14px 0; }
.composer-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 0 12px; }
.composer-fields label { margin: 5px 0 10px; }
.composer-fields label[hidden] { display: none; }
.native-select-hidden { position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important; border: 0 !important; }
.glass-select { position: relative; width: 100%; }
.glass-select-trigger { width: 100%; min-height: 46px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 13px; border: 1px solid #2d3c51; border-radius: 11px; background: rgba(8, 18, 31, .88); color: #fff; font-size: 14px !important; line-height: 1.2; text-align: left; cursor: pointer; box-shadow: inset 0 1px 0 #ffffff12; backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
.glass-select-trigger:focus-visible, .glass-select.open .glass-select-trigger { outline: none; border-color: #6fa8ff; background: linear-gradient(145deg, rgba(43, 67, 105, .9), rgba(17, 31, 52, .96)); box-shadow: 0 0 0 3px #498cff33, inset 0 1px 0 #ffffff30; }
.glass-chevron { color: #d9e8ff; font-size: 1.25rem; line-height: 1; transition: transform .2s ease; }
.glass-select.open .glass-chevron { transform: rotate(180deg); }
.glass-select-menu { position: absolute; z-index: 40; top: calc(100% + 7px); left: 0; right: 0; padding: 6px; border: 1px solid #75a8df; border-radius: 13px; background: linear-gradient(150deg, rgba(44, 72, 112, .96), rgba(14, 27, 48, .98)); box-shadow: 0 18px 42px #000b, inset 0 1px 0 #ffffff2b; backdrop-filter: blur(22px); -webkit-backdrop-filter: blur(22px); overflow: hidden; }
.glass-select-options { max-height: 260px; overflow-y: auto; overscroll-behavior: contain; }
.glass-select-search { display: block; margin: 0 0 6px; }
.glass-select-search input { width: 100%; min-height: 42px; margin: 0; border: 1px solid #6787b2; border-radius: 9px; background: #07101fe8; color: #fff; padding: 9px 11px; font-size: 14px !important; }
.glass-select-search input::placeholder { color: #aebbd0; }
.glass-select-menu[hidden] { display: none !important; }
.glass-select-menu button { width: 100%; min-height: 42px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 11px; border: 0; border-radius: 8px; background: transparent; color: #e7eef9; font-size: 14px !important; line-height: 1.2; text-align: left; cursor: pointer; }
.profile-editor{width:min(620px,calc(100vw - 24px));max-height:min(88dvh,720px);padding:0;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.profile-editor .dialog-title{padding-bottom:8px}.profile-form-scroll{display:block!important;min-height:0;padding:0 22px 18px;overflow-y:auto}.profile-editor label{display:block;margin:12px 0}.profile-editor label>span{display:block;margin-bottom:6px;color:#dce2eb;font-size:14px;font-weight:600}.profile-editor input,.profile-editor select,.profile-editor textarea{width:100%;min-height:44px;border:1px solid #2d3c51;border-radius:10px;background:#09121f;color:white;padding:10px 12px;outline:0}.profile-editor textarea{min-height:96px;resize:vertical}.profile-editor> .gradient-btn{border-radius:0;padding:17px}.profile-signin{text-decoration:none;text-align:center}.profile-photo-editor{display:grid!important;grid-template-columns:64px minmax(0,1fr);gap:12px;align-items:center;margin:4px 0 18px;padding:12px;border:1px solid #2d3c51;border-radius:14px;background:#0b1421}.profile-photo-copy{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}.profile-photo-editor span{color:var(--muted);font-size:12px;line-height:1.35}.profile-photo-actions{display:flex!important;flex-wrap:wrap;gap:6px;margin-top:3px}.profile-photo-editor button{width:auto!important;min-height:34px!important;padding:6px 10px!important;border:1px solid #6246ad!important;border-radius:8px!important;background:#1d1735!important;color:#d8cbff!important;font-size:13px!important;line-height:1.2!important;cursor:pointer}.profile-photo-editor button+button{margin:0!important;border-color:#72404d!important;background:#28151c!important;color:#ffb7c3!important}.profile-photo-editor button:disabled{opacity:.55;cursor:wait}.profile-photo-preview{width:58px;height:58px;font-size:1.1rem}.avatar{position:relative;overflow:hidden}.avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.profile-learning-fields{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.profile-learning-fields h3{margin:0 0 10px;font-size:18px}.profile-subject-field{margin:14px 0 0;padding:0;border:0}.profile-subject-field legend{color:#dce2eb;font-size:14px;font-weight:600}.profile-subject-field p{margin:5px 0 10px;color:var(--muted);font-size:13px}.profile-interest-add{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:7px;margin-bottom:8px}.profile-interest-add input{min-width:0;margin:0!important;font-size:14px!important}.profile-interest-add button{min-height:44px!important;padding:8px 12px!important;border:1px solid #7654c7!important;border-radius:10px!important;background:#21183d!important;color:#e7dcff!important;font-size:13px!important;font-weight:700;cursor:pointer}.profile-interest-summary{min-height:18px;margin-bottom:8px;color:#9ea9ba;font-size:12px}.profile-subject-choices{display:flex!important;justify-content:flex-start!important;align-items:flex-start!important;flex-wrap:wrap;gap:6px;max-height:186px;overflow-y:auto;padding:1px}.profile-subject-chip{width:auto!important;min-height:32px!important;border:1px solid #31425a!important;border-radius:999px!important;background:#09121f!important;color:#cbd5e4!important;padding:6px 9px!important;font-size:13px!important;line-height:1.2!important;white-space:normal;text-align:left;cursor:pointer}.profile-subject-chip.selected{border-color:#9564ff!important;background:#30205d!important;color:#fff!important;box-shadow:0 0 0 2px #7c4dff22}.profile-learning-line{color:#c9d3e2;line-height:1.55}
.personalized-feed-head{margin-bottom:14px;padding:18px;border:1px solid #4c3c79;border-radius:16px;background:linear-gradient(135deg,#111c31,#241747 58%,#17122e);box-shadow:0 14px 45px #0004;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;align-items:center}.personalized-feed-head>div:first-child{min-width:0}.personalized-feed-head strong{display:block;margin-top:4px;font-size:19px}.personalized-feed-head p{margin:5px 0 0;color:#bcc7d9;line-height:1.45}.personalized-feed-head .primary-outline{white-space:nowrap}.personalized-feed-chips{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:7px}.personalized-feed-chips span{padding:6px 10px;border:1px solid #7250bd;border-radius:999px;background:#1a1732;color:#ded4ff;font-size:13px}
.glass-select-menu button + button { margin-top: 2px; }
.glass-select-menu button:hover { background: #ffffff0d; }
.glass-select-menu button.selected { background: linear-gradient(100deg, #3479dfaa, #6250e9aa); color: #fff; }
.glass-check { min-width: 20px; color: #fff; font-size: 1rem; text-align: center; }
.attachment-status { margin:-8px 0 14px; padding:8px; display:grid; grid-template-columns:46px minmax(0,1fr) 32px; align-items:center; gap:10px; border:1px solid #4c3f78; border-radius:12px; background:#15102a; color:#d8ccff; font-size:.8rem; }
.attachment-status[hidden] { display:none; }
.attachment-thumb,.attachment-file-icon { width:46px; height:46px; border-radius:9px; border:1px solid #7961bd; background:#0b1421; }
.attachment-thumb { display:block; object-fit:cover; }
.attachment-file-icon { display:grid; place-items:center; color:#bda9ff; font-size:1.15rem; }
.attachment-status.video-preview { grid-template-columns:minmax(0,1fr) 32px; }
.attachment-video-frame { grid-column:1/-1; position:relative; width:100%; aspect-ratio:16/9; overflow:hidden; border:1px solid #5e4a93; border-radius:11px; background:#030812; }
.attachment-video-frame video { display:block; width:100%; height:100%; object-fit:contain; background:#030812; }
.attachment-copy { min-width:0; display:grid; gap:3px; }
.attachment-copy strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#eee9ff; font-size:.82rem; }
.attachment-copy small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#a99dbf; }
.attachment-status .attachment-remove { width:32px; height:32px; min-height:32px; display:grid; place-items:center; border:1px solid #5c4a84; border-radius:50%; padding:0; background:#211a36; color:#cfc3eb; cursor:pointer; }
.attachment-remove svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; }
.post-attachment { position: relative; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #08111d; }
.post-attachment img, .post-attachment video { display: block; width: 100%; max-height: 620px; object-fit: contain; background: #030812; }
.post-attachment > button { position: absolute; top: 10px; right: 10px; width: 38px; height: 38px; border: 1px solid #ffffff44; border-radius: 50%; background: #07101dcc; color: white; font-size: 1.35rem; cursor: pointer; }
.document-attachment { margin: 12px 18px; padding: 14px 58px 14px 16px; display: flex; align-items: center; gap: 12px; border: 1px solid var(--line); border-radius: 12px; }
.document-attachment > span { font-size: 1.5rem; }
.document-attachment a { color: #cbbdff; font-weight: 650; overflow-wrap: anywhere; }
.publish-note { display: flex; gap: 10px; align-items: flex-start; padding: 12px; border-radius: 10px; background: #0c1e1b; border: 1px solid #245246; }
.publish-note > span { color: #6ce0bb; }
.publish-note p { display: flex; flex-direction: column; gap: 4px; margin: 0; }
.publish-note small { color: #a8b9b5; line-height: 1.35; }
.create-types button.selected { border-color: #8659ff !important; background: #281a49 !important; color: white; }
.fresh-label { padding: 9px 16px; background: linear-gradient(90deg, #173f36, #1b2c49); color: #72dfbb; font-size: .78rem; font-weight: 700; }
.sample-content-label { padding: 9px 16px; border-bottom: 1px solid #39465b; background: linear-gradient(90deg,#151d2b,#211a3b); color: #cbbcff; font-size: .78rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.pending-solution { background: #27223d; color: #c9b8ff; }
.saved-responses { margin:0 18px; border:1px solid var(--line); border-radius:13px; overflow:hidden; }
.saved-responses:empty { display:none; }
.community-answer .comment { grid-template-columns:36px minmax(0,1fr) auto; gap:10px; padding:12px; }
.community-answer .avatar.small { width:36px; height:36px; }
.response-copy { min-width:0; }
.response-copy > p { margin:4px 0 0; font-size:.94rem; line-height:1.38; overflow-wrap:anywhere; }
.response-meta { display:flex; min-width:0; flex-wrap:wrap; align-items:center; gap:5px 8px; }
.response-meta strong { font-size:.9rem; }
.response-meta small { color:var(--muted); font-size:.78rem; }
.solution-chip { display:inline-flex; align-items:center; min-height:22px; padding:3px 7px; border:1px solid #2d806b; border-radius:999px; background:#123b34; color:#73e3bf; font-size:.7rem; font-weight:800; line-height:1; }
.response-like { align-self:start; padding:4px!important; color:var(--muted)!important; font-size:.78rem!important; white-space:nowrap; }
.accept-response { position:absolute; right:10px; bottom:8px; display:inline-flex; align-items:center; gap:5px; min-height:28px; border:1px solid #7657da; border-radius:999px; padding:4px 9px; background:#211a3b; color:#cfc0ff; font-size:.72rem; font-weight:750; cursor:pointer; }
.accept-response span { font-size:.8rem; }
.community-answer:has(.accept-response) .comment { padding-bottom:40px; }
.response-more { display:flex; width:100%; align-items:center; justify-content:space-between; gap:10px; min-height:44px; border:0; border-top:1px solid var(--line); padding:9px 12px; background:#0b1422; color:#bca8ff; font-size:.84rem; font-weight:700; cursor:pointer; }
.response-more small { color:var(--muted); font-size:.72rem; font-weight:500; }
.created-post { margin-bottom: 16px; animation: post-in .35s ease-out; }
.attached-file { margin-top: 13px; padding: 11px; border: 1px dashed #53627a; border-radius: 9px; color: #b9c8da; font-size: .84rem; }
@keyframes post-in { from { opacity: 0; transform: translateY(10px); } }
.publish-types { display: grid !important; grid-template-columns: 1fr 1fr; gap: 8px !important; margin-bottom: 18px; }
.publish-types button { border: 1px solid var(--line) !important; border-radius: 9px; padding: 10px !important; background: #091320 !important; color: #c5ceda !important; cursor: pointer; font-size: 0.88rem !important; }
.publish-types button.selected { border-color: #885cf5 !important; color: white !important; background: #281a49 !important; }
.bookmarked { color: #9b72ff !important; }

@media (max-width: 600px) {
  .personalized-feed-head { margin: 0 12px 12px; padding: 15px; grid-template-columns: 1fr; }
  .personalized-feed-head .primary-outline { width: 100%; }
  .personalized-feed-chips { grid-column: 1; }
  .view-head { align-items: start; padding: 4px 14px; }
  .view-head h1 { font-size: 1.45rem; }
  .view-head p { font-size: 0.85rem; }
  .new-content { padding: 9px; font-size: 0.78rem; }
  .content-badge { margin-left: 0; }
  .post-head .content-badge { position: absolute; right: 12px; min-width:74px; }
  .post-head:has(.manage-post) { min-height:112px; padding-right:105px; }
  .post-head .manage-post { position:absolute; top:51px; right:12px; min-width:74px; }
  .post-head .follow-author { margin: 34px 0 0 auto; }
  .learning-card .post-head { position: relative; }
  .origin-question { grid-template-columns: 1fr; }
  .origin-question button { text-align: left; padding: 5px 0; }
  .validation-row, .opportunity { align-items: flex-start; flex-direction: column; }
  .opportunity button, .opportunity-form .gradient-btn { width: 100%; }
  .opportunity-form, .incoming-opportunities { margin-left: 14px; margin-right: 14px; }
  .lesson-list { grid-template-columns: 1fr; }
  .course-rating { grid-template-columns: 1fr auto; }
  .course-rating > .primary-outline { grid-column: 1 / -1; }
  .course-certification { align-items: flex-start; flex-direction: column; margin-left: 14px; margin-right: 14px; }
  .course-certification button { width: 100%; }
  .course-cover { min-height: 165px; padding: 22px 16px; }
  .course-cover strong { font-size: 1.4rem; }
  .talent-visual { height: 260px; }
  .exercise-attempt-panel { margin-left: 14px; margin-right: 14px; padding: 13px; }
  .exercise-attempt-form .primary-outline { width: 100%; }
  body:has(#createDialog[open]) { overflow: hidden; }
  #createDialog[open] { position: fixed; top: var(--visual-viewport-top, 0px); right: 0; bottom: auto; left: 0; width: 100%; height: var(--visual-viewport-height, 100dvh); max-width: none; max-height: var(--visual-viewport-height, 100dvh); margin: 0; overflow: hidden; }
  #createDialog > .composer-card { position: relative; inset: auto; width: 100%; height: 100%; min-height: 0; max-height: 100%; margin: 0; border-radius: 0; }
  .composer-scroll { padding-left: 16px; padding-right: 16px; }
  .composer-card > .publish-types { margin-left: 16px; margin-right: 16px; }
  .dialog-title, .dialog-help { padding-left: 16px; padding-right: 16px; }
  .composer-fields { grid-template-columns: 1fr; }
  .composer-card label { margin: 9px 0; }
  .composer-card label > span { margin-bottom: 4px; font-size: 14px; }
  .composer-card input, .composer-card textarea { padding: 7px 9px; border-radius: 8px; font-size: 16px; line-height: 1.25; }
  .composer-card input { min-height: 38px; }
  .composer-card textarea { min-height: 64px; }
  .composer-card .composer-main textarea { min-height: 82px; padding-bottom: 24px; }
  .composer-card .glass-select-trigger { min-height: 36px; padding: 6px 9px; border-radius: 8px; font-size: 14px !important; line-height: 1.2; }
  .glass-chevron { font-size: 16px; }
  .glass-select-menu { top: calc(100% + 5px); padding: 5px; border-radius: 11px; }
  .composer-card .glass-select-menu button { min-height: 34px; padding: 6px 8px; font-size: 14px !important; line-height: 1.2; }
  .create-types { margin-bottom: 12px; }
  .create-types button { padding: 7px !important; }
  .composer-card > .gradient-btn { padding-bottom: max(17px, env(safe-area-inset-bottom)); }
  :root.keyboard-visible .composer-card { grid-template-rows: auto auto minmax(0, 1fr) auto; }
  :root.keyboard-visible .composer-card > .dialog-help { display: none; }
  :root.keyboard-visible .composer-card > .dialog-title { padding-top: 8px; padding-bottom: 4px; }
  :root.keyboard-visible .composer-card > .dialog-title .eyebrow { display: none; }
  :root.keyboard-visible .composer-card > .dialog-title h2 { margin: 0; font-size: 1.2rem; }
  :root.keyboard-visible .composer-card > .dialog-title button { width: 38px; height: 38px; }
  :root.keyboard-visible .composer-card > .publish-types { margin-top: 0; margin-bottom: 6px; gap: 6px; }
  :root.keyboard-visible .composer-card > .publish-types button { min-height: 38px; padding: 5px !important; font-size: .78rem !important; }
  :root.keyboard-visible .composer-card > .gradient-btn { min-height: 48px; padding: 10px 12px; }
  .profile-editor{position:fixed;inset:0;width:100%;height:100dvh;max-height:none;border-radius:0}.profile-form-scroll{padding-left:16px;padding-right:16px}.profile-editor>.gradient-btn{padding-bottom:max(17px,env(safe-area-inset-bottom))}
}

@media (max-height: 600px) {
  dialog { width: 100%; height: 100%; max-width: none; max-height: none; margin: 0; }
  .composer-card,.profile-editor { width: min(760px, 100%); height: 100%; max-height: none; margin: auto; border-radius: 0; }
  .dialog-title { padding-top: 12px; }
  .composer-card > .publish-types { grid-template-columns: repeat(4, 1fr); }
  .composer-card > .publish-types button { padding: 8px !important; }
}

.layout.wide-section {
  display: block;
  width: min(1080px, calc(100% - 32px));
}
.feed-tabs[hidden], #sidebar[hidden] { display: none !important; }

.page-shell { width: 100%; }
.explore-workspace, .profile-hero, .profile-panel, .messages-workspace, .global-search, .search-suggestions, .notification-list {
  border: 1px solid var(--line);
  border-radius: 16px;
  background: linear-gradient(145deg, #111b28, #0c1521);
  box-shadow: 0 18px 70px #0005;
}

.explore-workspace { padding: 20px; }
.explore-search, .global-search, .conversation-search {
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid #35445d;
  border-radius: 11px;
  background: #07101c;
  padding: 12px 14px;
}
.explore-search input, .global-search input, .conversation-search input {
  flex: 1;
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: white;
}
.filter-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin: 18px 0; }
.filter-grid label { color: #cbd2dc; font-size: 0.85rem; }
.filter-grid select, .filter-grid input { width: 100%; min-height: 44px; margin-top: 7px; padding: 11px; border: 1px solid var(--line); border-radius: 9px; background: #091321; color: white; }
.filter-grid input::placeholder { color: #7f8a9b; }
.explore-actions { display: grid; grid-template-columns: 1fr auto; gap: 10px; }
.explore-actions .primary-outline { padding: 11px 18px; }
.explore-result-list { display: grid; gap: 14px; }
.explore-result-list > .post-card { width: 100%; }
.explore-empty { min-height: 180px; display: grid; place-items: center; align-content: center; gap: 7px; padding: 28px; border: 1px dashed #34435a; border-radius: 14px; background: #0b1421; text-align: center; }
.explore-empty span { color: var(--muted); line-height: 1.5; }
.result-title { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 22px 2px 12px; }
.result-title span { color: var(--muted); font-size: 0.85rem; }
.result-title button { border: 0; background: none; color: #9873ff; }
.discovery-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.discovery-card { display: flex; flex-direction: column; gap: 8px; min-height: 180px; padding: 18px; text-align: left; border: 1px solid var(--line); border-radius: 14px; background: linear-gradient(145deg, #111c2c, #0a1421); color: white; cursor: pointer; }
.discovery-card:hover { border-color: #754ada; transform: translateY(-2px); }
.discovery-card small, .discovery-card > span:last-child { color: var(--muted); }
.card-icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 11px; background: #2b1d52; color: #b99cff; font-size: 1.25rem; }

.messages-workspace { display: grid; grid-template-columns: 330px 1fr; min-height: 590px; overflow: hidden; }
.conversation-list { border-right: 1px solid var(--line); padding: 12px; }
.conversation-search { margin-bottom: 10px; padding: 9px 11px; }
.conversation { width: 100%; display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 10px; padding: 12px 9px; border: 0; border-radius: 11px; background: transparent; color: white; text-align: left; cursor: pointer; }
.conversation.active { background: #201839; }
.conversation.message-request{box-shadow:inset 3px 0 #8b63f7}.conversation em{color:#bda9ff;font-size:.68rem;font-style:normal;font-weight:700}
.conversation > span:nth-child(2) { display: flex; flex-direction: column; min-width: 0; gap: 4px; }
.conversation small, .conversation time, .chat-head small { color: var(--muted); font-size: 0.75rem; }
.conversation-meta { display: flex; flex-direction: column; align-items: flex-end; gap: 5px; }
.conversation-meta b, .messages-nav b { min-width: 19px; height: 19px; padding: 0 5px; display: grid; place-items: center; border-radius: 999px; background: #e63868; color: white; font-size: 0.7rem; }
.messages-nav { position: relative; }
.messages-nav > b { position: absolute; top: 7px; right: 7px; }
.chat-panel { display: flex; flex-direction: column; min-width: 0; }
.chat-head { display: flex; align-items: center; gap: 10px; padding: 14px 18px; border-bottom: 1px solid var(--line); }
.chat-head div { display: flex; flex-direction: column; gap: 3px; }
.chat-body { min-height: 0; flex: 1; display: flex; flex-direction: column; gap: 10px; padding: 22px; overflow: auto; }
.date-divider { align-self: center; color: var(--muted); font-size: 0.75rem; }
.bubble { max-width: 72%; padding: 11px 14px; border-radius: 14px; line-height: 1.45; }
.bubble.received { align-self: flex-start; background: #182333; border-bottom-left-radius: 4px; }
.bubble.sent { align-self: flex-end; background: linear-gradient(135deg, #4840d5, #8c31bd); border-bottom-right-radius: 4px; }
.bubble time { display: block; margin-top: 5px; color: #d8d9e8; font-size: 0.7rem; text-align: right; opacity: 0.8; }
.message-composer { display: flex; gap: 8px; padding: 12px; border-top: 1px solid var(--line); }
.message-composer input { flex: 1; min-width: 0; padding: 11px; border: 1px solid var(--line); border-radius: 10px; background: #08121e; color: white; }
.message-composer button { border: 0; background: transparent; color: #9a75ff; font-size: 1.25rem; }
.message-empty, .chat-welcome { min-height: 160px; padding: 24px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; color: var(--muted); text-align: center; }
.message-empty strong, .chat-welcome strong { color: var(--text); }
.message-empty .primary-outline { margin-top: 6px; text-decoration: none; }
.message-request-bar,.message-request-waiting{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 18px;border-bottom:1px solid #5f4a97;background:#18152b}.message-request-bar>div:first-child,.message-request-waiting{display:flex;flex-direction:column;align-items:flex-start}.message-request-bar span,.message-request-waiting span{color:var(--muted);font-size:.78rem}.message-request-bar>div:last-child{display:flex;gap:7px}.message-request-bar button{padding:8px 11px;border:1px solid #7058c8;border-radius:8px;background:#2b2054;color:white;cursor:pointer}.message-request-bar button:first-child{border-color:#68404b;background:#25151b;color:#ffbdc7}.message-request-bar button:disabled{opacity:.55}.message-request-waiting{align-items:center;text-align:center}
.collaboration-tracker { margin: 12px 16px 0; padding: 13px; border: 1px solid #544691; border-radius: 13px; background: #15152a; }
.collaboration-tracker.completed { border-color: #2f735f; background: #0c251f; }
.collaboration-tracker-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.collaboration-tracker-title > div { display: grid; gap: 3px; }
.collaboration-tracker-title small, .collaboration-empty { color: var(--muted); }
.collaboration-tracker-title > span { border-radius: 999px; padding: 5px 9px; background: #32275c; color: #cdbdff; font-size: .74rem; font-weight: 700; }
.collaboration-tracker.completed .collaboration-tracker-title > span { background: #174438; color: #78e2bd; }
.collaboration-summary p { margin: 12px 0 8px; color: #e2e6ee; line-height: 1.45; }
.collaboration-summary > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--muted); font-size: .78rem; }
.collaboration-summary button { border: 0; background: none; color: #ac90ff; cursor: pointer; }
.collaboration-empty { margin: 12px 0 0; line-height: 1.45; }
.collaboration-form { margin-top: 13px; padding-top: 12px; border-top: 1px solid #353250; }
.collaboration-form[hidden] { display: none; }
.collaboration-form label { display: grid; gap: 5px; color: #dce2ec; font-size: .8rem; font-weight: 700; }
.collaboration-form textarea, .collaboration-form input, .collaboration-form select { width: 100%; border: 1px solid #403b65; border-radius: 9px; background: #090f1c; color: white; padding: 9px 10px; font: inherit; }
.collaboration-form textarea { min-height: 74px; resize: vertical; line-height: 1.4; }
.collaboration-form > div { display: grid; grid-template-columns: 1fr 140px; gap: 9px; margin: 9px 0; }
.collaboration-form .primary-outline { width: 100%; }
.collaboration-proof { margin-top: 13px; padding: 12px; border: 1px solid #4d3e78; border-radius: 10px; background: #101020; }
.collaboration-proof > strong { display: block; color: #d8ccff; }
.collaboration-proof > small { display: block; margin-top: 4px; color: var(--muted); line-height: 1.4; }
.collaboration-proof > p { margin: 10px 0; color: #dce2eb; line-height: 1.45; }
.collaboration-proof > button { border: 0; padding: 0; background: none; color: #ac90ff; cursor: pointer; }
.collaboration-proof.published { border-color: #2f735f; background: #0b2a22; }
.collaboration-proof.published > strong { color: #77e2bc; }
.collaboration-proof-form { display: grid; gap: 9px; margin-top: 11px; }
.collaboration-proof-form[hidden] { display: none; }
.collaboration-proof-form label { display: grid; gap: 5px; color: #dce2ec; font-size: .8rem; font-weight: 700; }
.collaboration-proof-form textarea { min-height: 86px; width: 100%; resize: vertical; border: 1px solid #403b65; border-radius: 9px; padding: 9px 10px; background: #090f1c; color: white; font: inherit; line-height: 1.4; }
.collaboration-proof-form .primary-outline { width: 100%; }
.opportunity-accepted { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.opportunity-accepted button, [data-open-accepted-chat] { border: 1px solid #6858d7; border-radius: 9px; background: #282052; color: white; padding: 9px 12px; cursor: pointer; }

.profile-hero { overflow: hidden; }
.profile-passport { padding: 0 0 1px; background: linear-gradient(155deg,#111d2f,#090f1c 62%); border-color:#34435c; box-shadow:0 22px 70px #0007; }
.profile-cover { position:relative; height:190px; overflow:hidden; background:radial-gradient(circle at 78% 25%,#eb2bbf88 0,transparent 24%),radial-gradient(circle at 18% 90%,#2377ff99 0,transparent 28%),linear-gradient(125deg,#071a3b,#44207b 58%,#8b176e); }
.profile-cover img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.profile-cover img[hidden] { display:none; }
.cover-prism { position:absolute; inset:0; pointer-events:none; background:linear-gradient(110deg,transparent 0 45%,#ffffff10 45% 52%,transparent 52%),linear-gradient(180deg,transparent 45%,#050b16aa); mix-blend-mode:screen; }
.cover-edit { display:none; }
.cover-edit:disabled { opacity:.6; cursor:wait; }
.profile-identity-card { position:relative; z-index:2; margin:-42px 18px 18px; border:1px solid #35465f; border-radius:20px; background:linear-gradient(145deg,#121e2fef,#0a1220f5); box-shadow:0 18px 45px #0007,inset 0 1px 0 #ffffff12; backdrop-filter:blur(20px); }
.profile-main { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:18px; padding:18px 20px 14px; }
.profile-avatar { width:104px; height:104px; margin:0; padding:0; font-size:1.55rem; border:4px solid #18253a; box-shadow:0 10px 28px #0007,0 0 0 1px #8b65ff77; }
.profile-photo-button { cursor:zoom-in; }
.profile-copy { min-width:0; }
.profile-kicker { display:block; margin-bottom:5px; color:#a98cff!important; font-size:.68rem!important; font-weight:850; letter-spacing:.14em; }
.profile-main h1 { margin:0 0 4px; font-size:clamp(1.55rem,4vw,2.25rem); line-height:1.08; }
.profile-main p { margin: 0 0 6px; }
.profile-main span { color: var(--muted); font-size: 0.85rem; }
.profile-owner-actions,.public-profile-actions{display:flex;align-items:center;gap:8px}.profile-owner-actions{flex-direction:column;align-items:stretch}.profile-owner-actions button,.profile-share{white-space:nowrap}.profile-share{border:1px solid #53627a;border-radius:9px;background:#111b2b;color:#dbe5f4;padding:9px 13px;font:inherit;cursor:pointer}.profile-share:hover,.profile-share:focus-visible{border-color:#8a68f3;background:#201a3b;outline:none}.public-profile-actions .follow-author{margin:0}.public-profile-actions .primary-outline{min-width:88px;padding:8px 13px;white-space:nowrap}
.profile-stats { display:grid; grid-template-columns:repeat(6,1fr); gap:8px; padding:0 14px 14px; border:0; }
.profile-stats div { display:flex; min-width:0; flex-direction:column; gap:3px; padding:12px 6px; text-align:center; border:1px solid #293851; border-radius:13px; background:#0b1524aa; }
.profile-stats div:last-child { border-right:1px solid #293851; }
.profile-stats strong { font-size: 1.2rem; color: #b69cff; }
.profile-stats span { color: var(--muted); font-size: 0.78rem; }
.profile-media-viewer { width:min(420px,calc(100vw - 48px)); padding:3px; border:1px solid #ed5fb0; border-radius:26px; background:#fff; box-shadow:0 0 0 1px rgba(255,255,255,.72),0 24px 80px #000a; }
.profile-media-image { position:relative; display:grid; place-items:center; width:100%; aspect-ratio:1; overflow:hidden; border-radius:19px; background:#0a111c; isolation:isolate; }
.profile-media-image img { grid-area:1/1; width:100%; height:100%; }
.profile-media-image > img:not(.profile-media-backdrop) { position:relative; z-index:1; object-fit:cover; object-position:50% 55%; }
.profile-media-backdrop { position:absolute; inset:-5%; width:110%!important; height:110%!important; object-fit:cover; filter:blur(18px) brightness(.58) saturate(.85); opacity:.58; transform:scale(1.06); }
.profile-media-image span { position:relative; z-index:2; display:grid; place-items:center; width:42%; aspect-ratio:1; border-radius:50%; background:linear-gradient(145deg,#ca8b5f,#502417); border:3px solid #e3c4ad; font-size:3rem; font-weight:800; }
.profile-media-image [hidden] { display:none!important; }
#profileMediaDialog,#profileMediaDialog:focus,#profileMediaDialog:focus-visible,.profile-media-viewer:focus,.profile-media-viewer:focus-visible { border:0; outline:0!important; }
.profile-cover { cursor:zoom-in; touch-action:manipulation; }
.profile-cover-viewer { width:min(920px,calc(100vw - 24px)); padding:0; border-radius:18px; overflow:hidden; background:#040914; box-shadow:0 24px 90px #000c; }
.profile-cover-stage { position:relative; width:100%; aspect-ratio:16/9; overflow:hidden; touch-action:none; user-select:none; cursor:grab; }
.profile-cover-stage.dragging { cursor:grabbing; }
.profile-cover-stage > img { display:block; width:100%; height:100%; object-fit:contain; background:#020711; pointer-events:none; }
.profile-cover-stage.repositioning > img { object-fit:cover; }
.cover-drag-hint { position:absolute; z-index:2; left:50%; bottom:14px; display:inline-flex; align-items:center; gap:7px; transform:translateX(-50%); padding:7px 10px; border:1px solid #ffffff55; border-radius:999px; background:#07101dcc; color:white; font-size:.76rem; font-weight:700; cursor:pointer; backdrop-filter:blur(10px); }
.cover-drag-hint svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.cover-viewer-actions { position:absolute; z-index:3; right:14px; top:14px; }
.cover-drag-hint[hidden],.cover-viewer-actions[hidden] { display:none!important; }
.cover-modify { display:inline-flex; align-items:center; gap:7px; min-height:38px; border:1px solid #ffffff66; border-radius:999px; padding:8px 12px; background:#07101ddd; color:white; font-size:.8rem; font-weight:750; cursor:pointer; backdrop-filter:blur(12px); }
.cover-menu { position:absolute; right:0; top:46px; display:grid; width:210px; overflow:hidden; border:1px solid #42516a; border-radius:12px; background:#0c1625f5; box-shadow:0 18px 50px #0009; }
.cover-menu[hidden] { display:none; }
.cover-menu button { border:0; padding:12px 14px; background:transparent; color:white; font-size:.84rem; text-align:left; cursor:pointer; }
.cover-menu button + button { border-top:1px solid #2c394e; }
.cover-menu .cover-delete { color:#ff9daf; }
.profile-stats>div[data-connection-kind]{cursor:pointer;transition:background .2s}.profile-stats>div[data-connection-kind]:hover,.profile-stats>div[data-connection-kind]:focus-visible{background:#171f30;outline:2px solid #7959d8;outline-offset:-2px}.connections-card{width:min(560px,calc(100vw - 24px));max-height:min(78dvh,680px);padding:0;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr)}.connections-card .dialog-title{padding-bottom:14px}.connections-list{min-height:220px;overflow-y:auto}.connection-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 18px;border-top:1px solid var(--line)}.connection-profile{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:3px;border:0;background:none;color:white;text-align:left;cursor:pointer}.connection-profile strong,.connection-profile span,.connection-profile small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.connection-profile span,.connection-profile small{color:var(--muted);font-size:.82rem}.connection-row .follow-author{margin:0}.connection-empty{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:30px;color:var(--muted);text-align:center}.connection-empty strong{color:white}
.follow-author { margin-left: auto; align-self: center; border: 1px solid #775ee8; border-radius: 999px; background: transparent; color: #c9bcff; padding: 7px 11px; cursor: pointer; white-space: nowrap; }
.follow-author.following { background: #292052; color: white; }
.post-head .follow-author + .content-badge { margin-left: 0; }
.saved-publication-list { display: grid; gap: 14px; margin-top: 14px; }
.saved-publication-list .post-card { box-shadow: none; }
.saved-publication-list .fresh-label { display: none; }
.saved-empty { padding: 28px 12px; color: var(--muted); text-align: center; }
.profile-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 14px; }
.profile-panel { padding: 20px; }
.profile-panel h2 { margin-top: 0; font-size: 1.1rem; }
.profile-panel h3 { margin-bottom: 7px; font-size: 0.9rem; }
.profile-panel p, .profile-panel li { color: #bac4d1; line-height: 1.55; }
.profile-panel ul { padding-left: 20px; }
.collaboration-proofs-panel .result-title > div { display: grid; gap: 4px; }
.collaboration-proofs-panel .result-title small { color: var(--muted); font-weight: 400; }
.collaboration-proof-list { display: grid; gap: 10px; margin-top: 15px; }
.profile-collaboration-proof { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 14px; border: 1px solid #2f735f; border-radius: 13px; background: #0c251f; }
.profile-proof-seal { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 13px; background: #174438; color: #78e2bd; font-size: 20px; font-weight: 800; }
.profile-collaboration-proof > div:nth-child(2) { min-width: 0; display: grid; gap: 4px; }
.profile-collaboration-proof small, .profile-collaboration-proof span { color: var(--muted); font-size: .76rem; }
.profile-collaboration-proof strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.profile-collaboration-proof p { margin: 4px 0; color: #dce5e1; line-height: 1.45; }
.profile-collaboration-proof > button { border: 1px solid #377b68; border-radius: 9px; padding: 8px 10px; background: #163d33; color: #84e7c5; cursor: pointer; }
.verification-hub { margin-top: 14px; }
.verification-hub .result-title { margin: 0 0 14px; }
.verification-hub .result-title [data-open-admin] { border: 1px solid #7455d6; border-radius: 9px; padding: 9px 12px; background: #211a3b; color: #d8cdff; }
.verification-state { display: flex; flex-direction: column; gap: 5px; margin-bottom: 14px; padding: 13px 14px; border-left: 3px solid #7658d8; background: #11182a; }
.verification-state span { color: #b7c1cf; line-height: 1.45; }
.verification-document-link { align-self: flex-start; margin-top: 5px; color: #bca6ff; font-size: .85rem; font-weight: 700; }
.verification-proof { position:relative; min-width:0; overflow:hidden; padding:13px; border:1px solid #34435a; border-radius:11px; background:#0a1422; cursor:pointer; }
.verification-proof .verification-file-input { position:absolute!important; width:1px!important; height:1px!important; min-height:0!important; padding:0!important; opacity:0; pointer-events:none; }
.verification-proof .verification-file-picker { display:inline-flex!important; width:auto; max-width:100%; align-items:center; gap:8px; margin:8px 0 4px!important; padding:9px 12px; border:1px solid #6750bd; border-radius:9px; background:#211a3b; color:#d8cdff!important; font-size:.84rem; font-weight:750; line-height:1.2; }
.verification-file-picker svg { flex:0 0 19px; width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.verification-file-picker b { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.verification-proof small { display: block; margin-top: 7px; color: var(--muted); line-height: 1.4; }
.verification-proof i { display: block; margin-top: 8px; color: #bca6ff; font-size: .82rem; font-style: normal; overflow-wrap: anywhere; }
.verified-profile-mark { color: #71dfbb; }
#verificationRequestForm { display: grid; gap: 12px; }
#verificationRequestForm[hidden] { display: none; }
#verificationRequestForm label span { display: block; margin-bottom: 6px; color: #dce3ec; font-weight: 700; }
#verificationRequestForm select, #verificationRequestForm textarea { width: 100%; border: 1px solid #34435a; border-radius: 10px; background: #08121f; color: white; padding: 11px 12px; font: inherit; }
#verificationRequestForm textarea { min-height: 125px; resize: vertical; line-height: 1.45; }
#verificationRequestForm .gradient-btn { justify-self: start; }

.edit-post-card { width:min(560px,calc(100vw - 24px)); max-height:88dvh; padding:0; overflow-y:auto; overscroll-behavior:contain; }
.edit-post-card .dialog-title { position:sticky; z-index:3; top:0; margin:0; padding:18px 20px 14px; border-bottom:1px solid var(--line); background:#101927f7; backdrop-filter:blur(14px); }
.edit-post-card .dialog-title h2 { margin:3px 0 0; font-size:clamp(1.35rem,5vw,1.8rem); }
.edit-post-card .dialog-title button { width:40px; height:40px; padding:0; border:1px solid #53627a; border-radius:50%; background:#0a1422; color:white; font-size:1.45rem; line-height:1; }
.edit-post-card > label { display:block; margin:15px 20px; color:#dce3ec; font-weight:700; }
.edit-post-card > label > span { display:block; margin-bottom:7px; }
.edit-post-card input,.edit-post-card textarea { display:block; width:100%; margin:0; padding:12px 13px; border:1px solid #34435a; border-radius:11px; background:#08121f; color:white; font:inherit; line-height:1.45; }
.edit-post-card textarea { min-height:112px; height:auto; resize:vertical; }
.edit-post-actions { position:sticky; z-index:3; bottom:0; display:grid!important; grid-template-columns:minmax(110px,.75fr) minmax(140px,1.25fr)!important; gap:10px; margin:18px 0 0; padding:14px 20px; border-top:1px solid var(--line); background:#101927f7; backdrop-filter:blur(14px); }
.edit-post-actions .danger-outline,.edit-post-actions .gradient-btn { width:100%; min-height:44px; margin:0; padding:10px 13px; border-radius:10px; font-size:.88rem!important; font-weight:750; line-height:1.1; }
.edit-post-actions .danger-outline { border:1px solid #934358; background:#2c1420; color:#ffb3c2; }
.edit-post-actions .gradient-btn { border:0; color:white; }
.admin-review { width: min(720px, calc(100vw - 24px)); max-height: min(88dvh, 780px); padding: 0; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; display: block; }
.admin-review .dialog-title { position: sticky; z-index: 3; top: 0; margin: 0; padding: 18px 20px 16px; border-bottom: 1px solid var(--line); background: #101927f7; backdrop-filter: blur(14px); }
.admin-review .dialog-title h2 { margin-top: 3px; font-size: clamp(1.2rem, 5vw, 1.55rem); line-height: 1.16; }
.admin-review .dialog-title [data-close-admin]:focus-visible { outline: none; }
.admin-review .admin-section { margin: 22px 20px 0; }
.admin-review .admin-section h3 { overflow-wrap: anywhere; font-size: clamp(1.15rem, 4.8vw, 1.55rem); line-height: 1.18; }
.admin-review .admin-section:last-child { padding-bottom: 20px; }
.admin-request-list { min-height: 180px; overflow-y: auto; padding: 0 20px 20px; }
.admin-request { margin-bottom: 12px; padding: 15px; border: 1px solid #34435a; border-radius: 11px; background: #0a1422; }
.admin-request.approved { border-color: #296451; }
.admin-request.rejected { border-color: #6b3a4c; }
.admin-request-head { display: flex; justify-content: space-between; gap: 12px; }
.admin-request-head > div { display: flex; flex-direction: column; gap: 4px; }
.admin-request-head span, .admin-request small { color: #9fabbc; }
.admin-request-head b { color: #d8c6ff; font-size: .8rem; }
.admin-request p { color: #c5ceda; line-height: 1.5; }
.admin-proof-link,.admin-proof-missing { display: block; margin: 10px 0 13px; padding: 10px 12px; border: 1px solid #5d4b91; border-radius: 9px; background: #1b1730; color: #d7caff; font-size: .84rem; font-weight: 700; overflow-wrap: anywhere; }
.admin-proof-missing { border-color: #674858; background: #25151d; color: #f0b7c6; }
.admin-request textarea { width: 100%; min-height: 78px; border: 1px solid #34435a; border-radius: 9px; background: #07101c; color: white; padding: 10px; font: inherit; resize: vertical; }
.admin-decisions { display: flex; gap: 9px; margin-top: 10px; }
.admin-decisions button { border: 0; border-radius: 8px; padding: 10px 13px; background: #174c40; color: #7de5c2; font-weight: 700; cursor: pointer; }
.admin-decisions button:last-child { background: #462333; color: #f0a8c2; }
.admin-decisions button:disabled { opacity: .6; cursor: wait; }
.admin-empty { display: flex; min-height: 150px; flex-direction: column; align-items: center; justify-content: center; gap: 5px; color: #b5bfce; text-align: center; }
.reputation-level { display: flex; gap: 12px; align-items: center; }
.reputation-level > span { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: #412174; color: #d3b3ff; font-size: 1.3rem; }
.reputation-level div { display: flex; flex-direction: column; gap: 4px; }
.reputation-level small { color: var(--muted); }
.progress-track { height: 7px; margin: 16px 0; border-radius: 99px; background: #202b3a; overflow: hidden; }
.progress-track span { display: block; width: 48%; height: 100%; background: linear-gradient(90deg, #2667ff, #d02ab2); }
.contributions { margin-top: 14px; }
.contribution-row { display: grid; grid-template-columns: 44px 1fr auto; align-items: center; gap: 12px; padding: 13px 0; border-top: 1px solid var(--line); }
.contribution-row div { display: flex; flex-direction: column; gap: 4px; }
.contribution-row small { color: var(--muted); }

.global-search { padding: 16px 18px; font-size: 1.05rem; }
.global-search button { border: 0; background: none; color: var(--muted); font-size: 1.25rem; }
.search-suggestions { margin-top: 14px; padding: 18px; }
.search-suggestions h2 { margin-top: 0; font-size: 1rem; }
.search-suggestions div { display: flex; flex-wrap: wrap; gap: 8px; }
.search-suggestions button { padding: 8px 11px; border: 1px solid var(--line); border-radius: 999px; background: #0b1522; color: #cbd4e0; cursor: pointer; }
.search-results { margin-top: 14px; }
.search-result-group { margin: 18px 0 24px; }
.search-result-group h2 { display: flex; align-items: center; gap: 8px; margin: 0 2px 10px; font-size: 1rem; }
.search-result-group h2 span { display: grid; place-items: center; min-width: 24px; height: 24px; padding: 0 7px; border-radius: 999px; background: #291d4d; color: #cbb9ff; font-size: .76rem; }
.empty-search { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 56px 20px; color: var(--muted); text-align: center; }
.empty-search > span { font-size: 2rem; }
.empty-search p { max-width: 520px; margin: 0; }
.search-result-card { display: grid; grid-template-columns: 44px 1fr auto; gap: 12px; align-items: center; margin-bottom: 9px; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: #0e1825; }
.search-result-card div { display: flex; flex-direction: column; gap: 4px; }
.search-result-card small, .search-result-card p { color: var(--muted); margin: 0; }
.search-result-card button { border: 0; background: none; color: #a17eff; }
.search-result-card.search-target, .post-card.search-target { border-color: #9a70ff; box-shadow: 0 0 0 3px #8b5dff33, 0 18px 60px #6b3fd433; }
.notification-target { scroll-margin: 140px 0 120px; border-radius: 12px; outline: 2px solid #9a70ff; outline-offset: 5px; box-shadow: 0 0 0 7px #8b5dff22, 0 16px 46px #6b3fd42e; animation: notification-target-pulse 1s ease-in-out 2; }
@keyframes notification-target-pulse { 50% { outline-color: #e12bc4; box-shadow: 0 0 0 10px #d92bc41c, 0 18px 52px #6b3fd43d; } }
.search-solution-result p { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.search-profile-result { grid-template-columns: 44px minmax(0,1fr) auto; }
.search-profile-subjects { display: flex; flex-wrap: wrap; gap: 5px; }
.search-profile-subjects i { padding: 4px 7px; border-radius: 999px; background: #20183a; color: #cbbaff; font-size: .72rem; font-style: normal; }
.search-profile-actions { align-items: flex-end; }
.search-profile-actions .follow-author { margin: 0; padding: 7px 10px; border: 1px solid #7050c1; border-radius: 8px; }
.search-loading span { animation: search-pulse 1s ease-in-out infinite alternate; }
@keyframes search-pulse { to { opacity: .35; transform: scale(.92); } }

.surface-enter { animation: surface-enter .28s cubic-bezier(.22,1,.36,1) both; }
@keyframes surface-enter { from { opacity:0; transform:translateY(10px) scale(.995); } to { opacity:1; transform:none; } }
.surface-loading { display:flex; flex-direction:column; gap:12px; padding:28px 18px; color:var(--muted); }
.surface-loading-bar,.surface-loading-card { display:block; border-radius:10px; background:linear-gradient(100deg,#18263a 20%,#293b54 38%,#18263a 56%); background-size:220% 100%; animation:surface-shimmer 1.25s ease-in-out infinite; }
.surface-loading-bar { width:52%; height:14px; }
.surface-loading-bar.short { width:30%; height:11px; opacity:.8; }
.surface-loading-card { width:100%; height:104px; border:1px solid var(--line); }
.surface-loading strong { font-size:.9rem; font-weight:650; }
@keyframes surface-shimmer { from { background-position:100% 0; } to { background-position:-100% 0; } }
:root[data-theme="light"] .surface-loading-bar,:root[data-theme="light"] .surface-loading-card { background:linear-gradient(100deg,#e6ebf4 20%,#f7f9fc 38%,#e6ebf4 56%); background-size:220% 100%; }

.notification-toolbar { display:flex;gap:8px;padding:0 18px 14px;overflow-x:auto;scrollbar-width:none; }
.notification-toolbar::-webkit-scrollbar { display:none; }
.notification-toolbar button { flex:0 0 auto;border:1px solid #35435a;border-radius:999px;padding:8px 13px;background:#0b1523;color:#aeb9c9;font:inherit;font-size:.88rem;cursor:pointer; }
.notification-toolbar button.active { border-color:#855df1;background:#2d1e52;color:white;box-shadow:0 0 0 2px #7449d933; }
.notification-head-actions { display:flex;align-items:center;justify-content:flex-end;gap:9px; }
.notification-settings-button { border:1px solid #4a3b7f;border-radius:10px;padding:9px 12px;background:#17142a;color:#c9b8ff;font:inherit;font-weight:750;cursor:pointer; }
.notification-settings { margin:0 18px 14px;border:1px solid #3e4b63;border-radius:14px;background:#0c1624;overflow:hidden; }
.notification-settings-title { display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 16px;border-bottom:1px solid var(--line); }
.notification-settings-title > div { display:flex;flex-direction:column;gap:3px; }
.notification-settings-title span { color:var(--muted);font-size:.82rem; }
.notification-settings-title button { border:0;background:transparent;color:#aeb9c8;font-size:1.4rem;cursor:pointer; }
.notification-settings form { display:grid; }
.notification-settings form > label { display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 16px;border-bottom:1px solid var(--line);cursor:pointer; }
.notification-settings label > span,.mandatory-notifications p { display:flex;min-width:0;flex-direction:column;gap:3px;margin:0; }
.notification-settings label small,.mandatory-notifications small { color:var(--muted);font-size:.82rem;line-height:1.35; }
.notification-settings input { position:relative;flex:0 0 auto;width:46px;height:26px;border:1px solid #4b596e;border-radius:999px;appearance:none;background:#273345;cursor:pointer;transition:.2s ease; }
.notification-settings input::after { content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#b9c3d0;transition:.2s ease; }
.notification-settings input:checked { border-color:#8058ef;background:linear-gradient(90deg,#3168ef,#a43ae0); }
.notification-settings input:checked::after { left:23px;background:white; }
.notification-settings input:focus-visible { outline:2px solid #a887ff;outline-offset:3px; }
.mandatory-notifications { display:flex;align-items:center;gap:12px;padding:13px 16px;background:#11231f;color:#73dfbd; }
.mandatory-notifications > span { display:grid;width:34px;height:34px;place-items:center;border-radius:10px;background:#18352d; }
.notification-settings form > .primary-outline { margin:14px 16px; }
.notification-list { overflow: hidden; }
.notification-group + .notification-group { border-top:8px solid #080f1b; }
.notification-group h2 { display:flex;align-items:center;gap:8px;margin:0;padding:13px 18px;border-bottom:1px solid var(--line);color:#c8b7ff;font-size:.82rem;letter-spacing:.05em;text-transform:uppercase; }
.notification-group h2 span { display:grid;min-width:22px;height:22px;place-items:center;border-radius:999px;background:#292044;color:#d9ceff;font-size:.72rem; }
.notification { width: 100%; display: grid; grid-template-columns: 48px minmax(0,1fr) auto; align-items: center; gap: 14px; padding: 16px 18px; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: white; text-align: left; cursor: pointer; }
.notification.unread { background: #151830; }
.notification > span:nth-child(2) { display: flex; flex-direction: column; gap: 5px; }
.notification small { color: var(--muted);line-height:1.4; }
.notification em { color:#bdaaff;font-size:.8rem;font-style:normal;font-weight:750; }
.notification-meta { display:flex;align-self:stretch;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:9px;color:var(--muted);font-size:.75rem;white-space:nowrap; }
.notification-meta i { width: 8px; height: 8px; border-radius: 50%; background: #8a5cff; }
.notice-icon { position:relative;display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; font-size: 1.2rem; }
.notice-icon b { position:absolute;top:-7px;right:-7px;display:grid;min-width:21px;height:21px;place-items:center;padding:0 5px;border:2px solid #101826;border-radius:999px;background:#8a4ff0;color:white;font-size:.68rem;line-height:1; }
:root[data-theme="light"] .notice-icon b { border-color:#fff; }
.answer-notice { background: #173956; color: #6fc5ff; }
.validation-notice { background: #153d34; color: #6ce0bb; }
.opportunity-notice { background: #452151; color: #ee8ee3; }
.like-notice { background: #4d202e; color: #ff8da8; }
.notification-empty { min-height: 190px; padding: 32px 20px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; color: var(--muted); text-align: center; }
.notification-empty strong { color: var(--text); font-size: 1.05rem; }
.notification-empty .primary-outline { margin-top: 8px; text-decoration: none; }
.post-comment-title{border-top:1px solid var(--line);padding-top:16px}.saved-comments:empty{display:none}.post-comment{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:11px;padding:12px 18px;border-top:1px solid #202c3d}.post-comment>div{min-width:0}.comment-author{border:0;background:none;color:white;padding:0;font-weight:700;cursor:pointer}.post-comment small{display:block;margin-top:3px;color:var(--muted);font-size:.78rem}.post-comment p{margin:7px 0 0;line-height:1.45;overflow-wrap:anywhere}.delete-comment{align-self:start;border:0;background:none;color:#98a5b6;font-size:1.2rem;cursor:pointer}.delete-comment:hover{color:#ff91a5}.comment-load-error{padding:12px 18px;color:var(--muted);font-size:.88rem}.post-comment-form{margin-top:4px}

@media (max-width: 750px) {
  .notification-head-actions { flex-direction:column;align-items:flex-end; }
  .notification-settings { margin-left:12px;margin-right:12px; }
  .connections-card { width: 100%; height: 100dvh; max-height: none; border-radius: 0; }
  .connection-row { grid-template-columns: 44px minmax(0,1fr); padding: 13px 14px; }
  .connection-row .follow-author { grid-column: 2; justify-self: start; }
  .search-result-card, .search-profile-result { grid-template-columns: 44px minmax(0,1fr); }
  .search-result-card > button, .search-profile-actions { grid-column: 2; justify-self: start; align-items: flex-start; }
  .explore-actions { grid-template-columns: 1fr; }
  .explore-actions .primary-outline { width: 100%; }
  .layout.wide-section { width: 100%; margin-top: 12px; }
  .page-shell > .view-head { padding: 0 14px; }
  .filter-grid, .discovery-grid, .profile-grid { grid-template-columns: 1fr; }
  #verificationRequestForm .gradient-btn { width: 100%; }
  .admin-review { width: 100%; height: 100dvh; max-height: none; border-radius: 0; }
  .admin-review .dialog-title { padding-left: 14px; padding-right: 14px; }
  .admin-review .admin-section { margin-left: 14px; margin-right: 14px; }
  .admin-request-head, .admin-decisions { align-items: stretch; flex-direction: column; }
  .explore-workspace, .profile-hero, .profile-panel, .messages-workspace, .global-search, .search-suggestions, .notification-list { border-radius: 0; border-left: 0; border-right: 0; }
  .messages-workspace { grid-template-columns: 1fr; }
  .conversation-list { border-right: 0; border-bottom: 1px solid var(--line); }
  .chat-panel { min-height: 440px; }
  .message-request-bar { align-items: stretch; flex-direction: column; }
  .message-request-bar > div:last-child { display: grid; grid-template-columns: 1fr 1fr; }
  .collaboration-tracker { margin-left: 12px; margin-right: 12px; }
  .collaboration-form > div { grid-template-columns: 1fr; }
  .profile-collaboration-proof { grid-template-columns: 38px minmax(0,1fr); align-items: start; }
  .profile-collaboration-proof > button { grid-column: 2; justify-self: start; }
  .profile-passport { border-radius:0; }
  .profile-cover { height:150px; }
  .cover-edit { right:12px; bottom:12px; min-height:36px; padding:7px 11px; }
  .profile-identity-card { margin:-28px 10px 10px; border-radius:18px; }
  .profile-main { grid-template-columns:auto minmax(0,1fr); gap:12px; padding:14px 12px 12px; }
  .profile-main button { grid-column: 1 / -1; }
  .profile-main .profile-photo-button { grid-column:1; }
  .profile-main .profile-owner-actions { grid-column: 1 / -1; display:grid; grid-template-columns:1fr 1fr; width:100%; }
  .profile-main .public-profile-actions { grid-column: 1 / -1; display:grid; grid-template-columns:1fr 1fr; width:100%; }
  .profile-owner-actions button { width:100%; }
  .public-profile-actions button { width:100%; }
  .profile-avatar { width:76px; height:76px; border-width:3px; }
  .profile-kicker { font-size:.6rem!important; letter-spacing:.1em; }
  .profile-main h1 { font-size:clamp(1.35rem,6vw,1.9rem); overflow-wrap:anywhere; }
  .profile-main p { font-size:.9rem; }
  .profile-stats { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; padding:0 10px 10px; }
  .profile-stats div,.profile-stats div:nth-child(even),.profile-stats div:nth-child(-n+4) { padding:10px 3px; border:1px solid #293851; border-radius:11px; }
  .profile-stats strong { font-size:1.05rem; }
  .profile-stats span { font-size:.68rem; overflow-wrap:anywhere; }
  .profile-media-viewer { width:min(420px,calc(100vw - 48px)); padding:3px; border-radius:26px; }
  .profile-cover-viewer { width:calc(100vw - 20px); border-radius:14px; }
  .cover-viewer-actions { right:9px; top:9px; }
  .cover-drag-hint { bottom:9px; }
  .edit-post-actions { grid-template-columns:minmax(105px,.8fr) minmax(132px,1.2fr)!important; padding:12px 14px; }
  .edit-post-card > label { margin:14px; }
  .contribution-row { grid-template-columns: 44px 1fr; }
  .contribution-row .content-badge { grid-column: 2; justify-self: start; }
  .notification { grid-template-columns: 44px 1fr auto; padding: 14px 12px; }
}

html,body { max-width:100%; overflow-x:hidden; }
html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
.layout,.page-shell,.profile-panel,.result-title,.opportunity-history,.collaboration-proofs-panel { min-width:0; max-width:100%; }
.opportunity-history,.collaboration-proofs-panel { overflow:hidden; }
.opportunity-history-filters { width:100%; max-width:100%; }

/* Mode jour premium — même architecture, surfaces plus lumineuses. */
:root[data-theme="light"] {
  color-scheme: light;
  --bg: #f5f7fb;
  --panel: #ffffff;
  --panel2: #f8faff;
  --line: #dce4f0;
  --text: #0b1733;
  --muted: #64718a;
}

:root[data-theme="light"] body {
  background: radial-gradient(circle at 50% -18%, #ffffff 0, #f5f7fb 44%);
  color: var(--text);
}
:root[data-theme="light"] .topbar {
  background: rgba(255,255,255,.94);
  box-shadow: 0 8px 28px rgba(24,49,91,.06);
}
:root[data-theme="light"] .feed-tabs { background: rgba(255,255,255,.88); }
:root[data-theme="light"] .feed-tabs button { color: #34415c; }
:root[data-theme="light"] .feed-tabs button.active { color: #6542dc; border-color: #7b4ff2; }
:root[data-theme="light"] .icon-btn { color: #0b1733; }
:root[data-theme="light"] .profile-share { border-color:#b7c3d8; background:#f7f9fd; color:#34415c; }
:root[data-theme="light"] .profile-passport { background:linear-gradient(155deg,#ffffff,#eef3fb); border-color:#d4deeb; }
:root[data-theme="light"] .profile-identity-card { border-color:#d3ddec; background:#fffffff2; box-shadow:0 16px 38px #40506a24,inset 0 1px 0 #fff; }
:root[data-theme="light"] .profile-stats div { border-color:#d9e2ef; background:#f5f8fd; }
:root[data-theme="light"] .profile-stats div:last-child { border-right-color:#d9e2ef; }
:root[data-theme="light"] .manage-post { border-color:#8fcdf0; background:#e7f5ff; color:#17608c; }
:root[data-theme="light"] .profile-media-viewer { background:#fff; }
:root[data-theme="light"] .profile-media-copy button { border-color:#b7a3ed; background:#f3efff; color:#5733aa; }
:root[data-theme="light"] .profile-settings-entry,
:root[data-theme="light"] .settings-card { background:#fff; color:var(--text); border-color:var(--line); box-shadow:0 12px 38px rgba(35,58,101,.07); }
:root[data-theme="light"] .settings-back { background:#f7f9fd; color:#34415c; border-color:#cbd6e5; }
:root[data-theme="light"] .theme-choice button { background:#f7f9fd; color:var(--text); border-color:#d5deeb; }
:root[data-theme="light"] .theme-choice button.active { background:#eee9ff; color:#4527a6; border-color:#825df2; }
:root[data-theme="light"] .profile-settings-entry>span:first-child,
:root[data-theme="light"] .settings-icon { background:#eee9ff; color:#6240cd; }

:root[data-theme="light"] .post-card,
:root[data-theme="light"] .explorer-card,
:root[data-theme="light"] .explore-workspace,
:root[data-theme="light"] .messages-workspace,
:root[data-theme="light"] .profile-hero,
:root[data-theme="light"] .profile-panel,
:root[data-theme="light"] .global-search,
:root[data-theme="light"] .search-suggestions,
:root[data-theme="light"] .notification-list,
:root[data-theme="light"] .dialog-card,
:root[data-theme="light"] .discover-member-card {
  background: #ffffff;
  color: var(--text);
  border-color: var(--line);
  box-shadow: 0 12px 38px rgba(35,58,101,.08);
}
:root[data-theme="light"] .post-author-link,
:root[data-theme="light"] .discover-member-main,
:root[data-theme="light"] .connection-profile,
:root[data-theme="light"] .comment-author,
:root[data-theme="light"] .notification,
:root[data-theme="light"] .conversation { color: var(--text); }
:root[data-theme="light"] .post-actions button,
:root[data-theme="light"] .comments-title button,
:root[data-theme="light"] .comment button,
:root[data-theme="light"] .recent button { color: #4f5d76; }
:root[data-theme="light"] .comments-title button,
:root[data-theme="light"] .result-title button,
:root[data-theme="light"] .post-author-link:hover,
:root[data-theme="light"] .post-author-link:focus-visible { color: #6843dc; }
:root[data-theme="light"] .liked { color: #37445d; }

:root[data-theme="light"] .comment-box,
:root[data-theme="light"] .origin-question,
:root[data-theme="light"] .formula,
:root[data-theme="light"] .sample-exercise-form,
:root[data-theme="light"] .exercise-attempt-panel,
:root[data-theme="light"] .lesson-list span,
:root[data-theme="light"] .course-rating,
:root[data-theme="light"] .explore-empty,
:root[data-theme="light"] .conversation-search,
:root[data-theme="light"] .search-result-card,
:root[data-theme="light"] .reputation-rules,
:root[data-theme="light"] .admin-report,
:root[data-theme="light"] .admin-request,
:root[data-theme="light"] .post-attachment {
  background: #f8faff;
  color: var(--text);
  border-color: var(--line);
}
:root[data-theme="light"] .attempt,
:root[data-theme="light"] .verification-state { background: #f4f1ff; color: #35415a; }
:root[data-theme="light"] .verification-proof { background:#f8faff;border-color:#d6dfec; }
:root[data-theme="light"] .verification-proof .verification-file-picker { border-color:#b8a2e8; background:#f3efff; color:#5733aa!important; }
:root[data-theme="light"] .admin-proof-link { background:#f3efff;color:#5733aa;border-color:#b8a2e8; }
:root[data-theme="light"] .admin-proof-missing { background:#fff1f4;color:#9c3d57;border-color:#e2a9b8; }
:root[data-theme="light"] .validation-row { background: #f2f6fb; color: #5e6c83; }
:root[data-theme="light"] .subject-row span,
:root[data-theme="light"] .skill-chips span,
:root[data-theme="light"] .exercise-meta span,
:root[data-theme="light"] .discover-member-subjects span,
:root[data-theme="light"] .search-suggestions button,
:root[data-theme="light"] .profile-subject-chip {
  background: #f5f7fc !important;
  color: #526079 !important;
  border-color: #d8e1ee !important;
}
:root[data-theme="light"] .profile-subject-chip.selected {
  background: #e7e0ff !important;
  color: #4d2bb8 !important;
  border-color: #8b66ef !important;
}

:root[data-theme="light"] .composer-card input,
:root[data-theme="light"] .composer-card select,
:root[data-theme="light"] .composer-card textarea,
:root[data-theme="light"] .profile-editor input,
:root[data-theme="light"] .profile-editor select,
:root[data-theme="light"] .profile-editor textarea,
:root[data-theme="light"] .filter-grid select,
:root[data-theme="light"] .filter-grid input,
:root[data-theme="light"] .message-composer input,
:root[data-theme="light"] #verificationRequestForm select,
:root[data-theme="light"] #verificationRequestForm textarea,
:root[data-theme="light"] .opportunity-form select,
:root[data-theme="light"] .opportunity-form textarea,
:root[data-theme="light"] .opportunity-form input,
:root[data-theme="light"] .admin-report textarea,
:root[data-theme="light"] .admin-request textarea,
:root[data-theme="light"] .edit-post-card input,
:root[data-theme="light"] .report-card select {
  background: #f9fbff;
  color: var(--text);
  border-color: #ccd7e6;
}
:root[data-theme="light"] .edit-post-card .dialog-title,
:root[data-theme="light"] .edit-post-actions { background:rgba(255,255,255,.96); }
:root[data-theme="light"] .edit-post-card .dialog-title button { border-color:#ccd7e6; background:#f4f7fb; color:#17233b; }
:root[data-theme="light"] .edit-post-card > label { color:#17233b; }
:root[data-theme="light"] .edit-post-card textarea { background:#f9fbff; color:#17233b; border-color:#ccd7e6; }
:root[data-theme="light"] .edit-post-actions .danger-outline { border-color:#e2a9b8; background:#fff1f4; color:#9c3d57; }
:root[data-theme="light"] .composer-card label > span,
:root[data-theme="light"] .profile-editor label > span,
:root[data-theme="light"] .profile-subject-field legend,
:root[data-theme="light"] .filter-grid label,
:root[data-theme="light"] #verificationRequestForm label span,
:root[data-theme="light"] .opportunity-form label span { color: #33415c; }
:root[data-theme="light"] input::placeholder,
:root[data-theme="light"] textarea::placeholder { color: #8591a6; }
:root[data-theme="light"] .explore-search input,
:root[data-theme="light"] .global-search input,
:root[data-theme="light"] .conversation-search input,
:root[data-theme="light"] .comment-box input { color: var(--text); }

:root[data-theme="light"] .glass-select-trigger {
  background: #f9fbff;
  color: var(--text);
  border-color: #ccd7e6;
  box-shadow: inset 0 1px 0 #fff;
}
:root[data-theme="light"] .glass-select-trigger:focus-visible,
:root[data-theme="light"] .glass-select.open .glass-select-trigger {
  background: #eef4ff;
  border-color: #6292db;
  box-shadow: 0 0 0 3px rgba(73,140,255,.16);
}
:root[data-theme="light"] .glass-chevron { color: #4f6382; }
:root[data-theme="light"] .glass-select-menu {
  background: #ffffff;
  border-color: #b8c8df;
  box-shadow: 0 18px 42px rgba(30,52,91,.18);
}
:root[data-theme="light"] .glass-select-menu button { color: #263650; }
:root[data-theme="light"] .glass-select-search input { background: #f9fbff; color: var(--text); border-color: #b8c8df; }
:root[data-theme="light"] .glass-select-menu button:hover { background: #f0f4fb; }
:root[data-theme="light"] .glass-select-menu button.selected { background: linear-gradient(100deg,#dceaff,#e8e2ff); color: #3d2c8e; }
:root[data-theme="light"] .glass-check { color: #4e38bf; }
:root[data-theme="light"] .create-types button { background: #f7f9fd !important; color: #263650 !important; border-color: #d5deeb !important; }
:root[data-theme="light"] .create-types button.selected { background: #eee9ff !important; color: #4527a6 !important; border-color: #825df2 !important; }
:root[data-theme="light"] .publish-note > p > strong { color: #dffcf2; }

:root[data-theme="light"] .profile-photo-editor { background: #f7f9fd; border-color: var(--line); }
:root[data-theme="light"] .profile-photo-editor button,
:root[data-theme="light"] .profile-interest-add button { background: #eee9ff !important; color: #5033bd !important; border-color: #baa8ef !important; }
:root[data-theme="light"] .personalized-feed-head {
  background: linear-gradient(135deg,#f8fbff,#f1edff 58%,#fff0fb);
  border-color: #d7ccf5;
  box-shadow: 0 12px 34px rgba(56,61,121,.08);
}
:root[data-theme="light"] .personalized-feed-head p { color: #5f6c84; }
:root[data-theme="light"] .personalized-feed-chips span { background: #ffffff; color: #5940b8; border-color: #c6b5ee; }

:root[data-theme="light"] .new-content,
:root[data-theme="light"] .primary-outline { background: #f3efff; color: #5737c4; border-color: #8d69e6; }
:root[data-theme="light"] .bottom-nav {
  background: rgba(255,255,255,.96);
  border-color: #dbe3ef;
  box-shadow: 0 -8px 30px rgba(33,55,94,.08);
}
:root[data-theme="light"] .bottom-nav button { color: #66738a; }
:root[data-theme="light"] .bottom-nav button.active { color: #6841dd; }
:root[data-theme="light"] dialog { color: var(--text); }
:root[data-theme="light"] dialog::backdrop { background: rgba(24,35,58,.42); }
:root[data-theme="light"] .dialog-card > .dialog-title > button { color: #25324b; }
:root[data-theme="light"] .admin-review .dialog-title { background: rgba(255,255,255,.96); }
:root[data-theme="light"] .delete-post-card > p { color: #59677f; }
:root[data-theme="light"] .delete-post-symbol { background: #ffe8ed; color: #b1264a; }
:root[data-theme="light"] .delete-post-actions button:first-child {
  border-color: #c7d2e2;
  background: #f4f7fb;
  color: #1b2a43;
  font-weight: 700;
}
:root[data-theme="light"] .delete-post-actions button:first-child:hover,
:root[data-theme="light"] .delete-post-actions button:first-child:focus-visible {
  border-color: #8c63ef;
  background: #eee9ff;
  color: #3f299c;
}
:root[data-theme="light"] .delete-post-actions .danger-button {
  background: #c52e50;
  color: #ffffff;
}
:root[data-theme="light"] .delete-post-actions .danger-button:hover,
:root[data-theme="light"] .delete-post-actions .danger-button:focus-visible {
  background: #a92241;
}
:root[data-theme="light"] .profile-avatar { border-color: #ffffff; }
:root[data-theme="light"] .profile-panel p,
:root[data-theme="light"] .profile-panel li,
:root[data-theme="light"] .profile-learning-line { color: #59677f; }
:root[data-theme="light"] .profile-stats > div[data-connection-kind]:hover,
:root[data-theme="light"] .profile-stats > div[data-connection-kind]:focus-visible { background: #f2f5fb; }
:root[data-theme="light"] .progress-track { background: #e3e8f1; }
:root[data-theme="light"] .conversation.active,
:root[data-theme="light"] .notification.unread { background: #f1edff; }
:root[data-theme="light"] .notification-toolbar button { border-color:#d7dfeb;background:#fff;color:#56647b; }
:root[data-theme="light"] .notification-toolbar button.active { border-color:#7c57df;background:#eee8ff;color:#5830b6; }
:root[data-theme="light"] .notification-settings-button { border-color:#bca9e8;background:#f2edff;color:#5d35bd; }
:root[data-theme="light"] .notification-settings { border-color:#d8e0eb;background:#fff; }
:root[data-theme="light"] .mandatory-notifications { background:#edfff7;color:#087d56; }
:root[data-theme="light"] .notification-group + .notification-group { border-color:#eef2f7; }
:root[data-theme="light"] .notification-group h2 { color:#6440bf; }
:root[data-theme="light"] .notification em { color:#643bc9; }
:root[data-theme="light"] .opportunity-history-filters button { border-color:#d7dfeb;background:#fff;color:#56647b; }
:root[data-theme="light"] .opportunity-history-filters button.active { border-color:#7c57df;background:#eee8ff;color:#5830b6; }
:root[data-theme="light"] .opportunity-history-item { border-color:#dce4ef;background:#f8faff; }
:root[data-theme="light"] .opportunity-history-item.accepted { border-color:#8fd3bc;background:#effbf6; }
:root[data-theme="light"] .opportunity-history-item p { color:#46546c; }
:root[data-theme="light"] .opportunity-history-head > span { background:#eee8ff;color:#5830b6; }
:root[data-theme="light"] .opportunity-history-item.accepted .opportunity-history-head > span { background:#dff7ed;color:#087b56; }
:root[data-theme="light"] .opportunity-history-item.declined .opportunity-history-head > span { background:#ffebf0;color:#a13956; }
:root[data-theme="light"] .opportunity-history-foot button { background:#eee8ff;color:#5830b6; }
:root[data-theme="light"] .bubble.received { background: #eef2f7; color: #17243b; }
:root[data-theme="light"] .message-request-bar,
:root[data-theme="light"] .message-request-waiting { background: #f4f0ff; }
:root[data-theme="light"] .collaboration-tracker { border-color:#cbbced;background:#f6f3ff; }
:root[data-theme="light"] .collaboration-tracker.completed { border-color:#8fd3bc;background:#effbf6; }
:root[data-theme="light"] .collaboration-summary p { color:#26344d; }
:root[data-theme="light"] .collaboration-tracker-title > span { background:#e9e1ff;color:#5731b6; }
:root[data-theme="light"] .collaboration-tracker.completed .collaboration-tracker-title > span { background:#dff7ed;color:#087b56; }
:root[data-theme="light"] .collaboration-form { border-color:#d8dfeb; }
:root[data-theme="light"] .collaboration-form label { color:#33415c; }
:root[data-theme="light"] .collaboration-form textarea,
:root[data-theme="light"] .collaboration-form input,
:root[data-theme="light"] .collaboration-form select { border-color:#ccd7e6;background:#fff;color:#18243a; }
:root[data-theme="light"] .collaboration-proof { border-color:#cbbced;background:#fff; }
:root[data-theme="light"] .collaboration-proof > strong { color:#5632ae; }
:root[data-theme="light"] .collaboration-proof > p { color:#33415c; }
:root[data-theme="light"] .collaboration-proof.published { border-color:#8fd3bc;background:#effbf6; }
:root[data-theme="light"] .collaboration-proof.published > strong { color:#087b56; }
:root[data-theme="light"] .collaboration-proof-form label { color:#33415c; }
:root[data-theme="light"] .collaboration-proof-form textarea { border-color:#ccd7e6;background:#fff;color:#18243a; }
:root[data-theme="light"] .profile-collaboration-proof { border-color:#9ad7c3;background:#f2fbf7; }
:root[data-theme="light"] .profile-collaboration-proof p { color:#405069; }
:root[data-theme="light"] .profile-collaboration-proof > button { border-color:#7bc7ad;background:#e0f7ef;color:#087b56; }

.appearance-hub {
  margin-top: 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
}
.appearance-hub h2 { margin-bottom: 6px; }
.appearance-hub p { margin: 0; }
.appearance-hub label { flex: 0 0 min(250px, 42%); }
.appearance-hub label span { display: block; margin-bottom: 6px; color: #dce2eb; font-size: 14px; font-weight: 600; }
.appearance-hub select {
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid #34435a;
  border-radius: 10px;
  background: #09121f;
  color: white;
}
:root[data-theme="light"] .appearance-hub label span { color: #33415c; }
:root[data-theme="light"] .appearance-hub select { background: #f9fbff; color: var(--text); border-color: #ccd7e6; }

@media (max-width: 650px) {
  .appearance-hub { align-items: stretch; flex-direction: column; }
  .appearance-hub label { flex-basis: auto; width: 100%; }
}

/* Navigation mobile : suit la zone réellement visible sur iPhone et Android. */
body {
  padding-bottom: calc(86px + env(safe-area-inset-bottom));
}
.bottom-nav {
  bottom: var(--visual-viewport-bottom, 0px);
  height: auto;
  min-height: 76px;
  padding-bottom: env(safe-area-inset-bottom);
  transform: translateZ(0);
  will-change: bottom;
}
@media (max-width: 850px) {
  body { padding-bottom: calc(80px + env(safe-area-inset-bottom)); }
  .bottom-nav { min-height: 70px; }
}

/* Mon fil premium — première tranche de la refonte Campus mondial. */
body[data-surface="Mon fil"] .layout {
  grid-template-columns: minmax(0, 860px);
  justify-content: center;
  gap: 0;
  margin-top: 16px;
}
body[data-surface="Mon fil"] #sidebar { display: none; }
body[data-surface="Mon fil"] .feed { min-width: 0; }

.feed-tabs {
  align-items: center;
  gap: 12px;
  height: 82px;
  padding-top: 10px;
  padding-bottom: 10px;
}
.feed-tabs button {
  min-height: 56px;
  padding: 10px 17px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: linear-gradient(145deg,#111c2b,#0b1421);
  color: #cbd5e4;
  transition: transform .18s ease,border-color .18s ease,background .18s ease;
}
.tab-icon {
  width: 24px;
  height: 24px;
  display: inline-grid;
  place-items: center;
  border-radius: 8px;
  background: #ffffff0b;
  color: #a98cff;
  line-height: 1;
}
.tab-icon svg { width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }
.feed-tabs button.active .tab-icon { background: #ffffff22; color: white; }
.icon-btn svg,
.bottom-nav svg {
  width: 1em;
  height: 1em;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.icon-btn {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  transition: color .18s ease, background .18s ease, transform .18s ease;
}
.icon-btn:hover { color: #a98cff; background: #ffffff0b; transform: translateY(-1px); }
.feed-tabs button, .gradient-btn, .primary-outline, .new-content, .create-types button {
  transition: transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease;
}
.gradient-btn:active, .primary-outline:active, .new-content:active, .create-types button:active { transform:scale(.98); }
.create-types { align-items:stretch; }
.create-types button { min-height:44px;display:inline-flex!important;align-items:center;justify-content:center;gap:7px!important;border-radius:var(--radius-control)!important; }
.create-types button svg { width:19px;height:19px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }
.bottom-nav button span { transition: transform .18s ease; }
.bottom-nav button:hover span,
.bottom-nav button.active span { transform: translateY(-2px); }
.bottom-nav button.active svg { stroke-width: 2.2; }
.feed-tabs button:hover { transform: translateY(-1px); border-color: #5e4bb0; }
.feed-tabs button.active {
  border-color: #8757ff;
  background: linear-gradient(120deg,#2463ff,#7c4dff 58%,#d824c7);
  color: white;
  box-shadow: 0 10px 26px #622fe044;
}

.home-highlights {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 14px;
}
.home-highlight {
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  align-items: center;
  gap: 13px;
  min-height: 104px;
  padding: 16px 18px;
  border: 1px solid #2b3a52;
  border-radius: 16px;
  background: linear-gradient(145deg,#101b2a,#0b1421);
  color: var(--text);
  text-align: left;
  cursor: pointer;
  box-shadow: 0 14px 40px #0003;
}
.home-highlight > span:nth-child(2), .highlight-copy { min-width: 0; display: grid; gap: 4px; }
.home-highlight strong { font-size: 1rem; }
.home-highlight small { color: var(--muted); line-height: 1.35; }
.home-highlight > b { color: #9cb2d7; font-size: 1.45rem; }
.local-highlight { border-color:#35496d; background:radial-gradient(circle at 10% 20%,#5330a633 0,transparent 32%),linear-gradient(145deg,#101c2e,#0a1422); }
.local-marker {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border:1px solid #7859d8;
  border-radius: 16px;
  background:linear-gradient(145deg,#302060,#172c59);
  color:#cbb8ff;
  box-shadow:inset 0 1px 0 #ffffff24,0 9px 24px #0004;
}
.local-marker svg { width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }
.highlight-label { color:#9f81ff !important;font-size:.68rem;font-weight:800;letter-spacing:.12em; }
.local-highlight .highlight-copy strong { font-size:1.08rem; }
.highlight-action { display:flex;align-items:center;gap:3px;color:#c8b6ff;font-size:.78rem;font-weight:800; }
.highlight-action svg { width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round; }
.progress-ring {
  --progress: 0deg;
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: conic-gradient(#9b36f0 var(--progress),#1d2a3d 0);
  position: relative;
}
.progress-ring::after { content:""; position:absolute; inset:6px; border-radius:50%; background:#0e1826; }
.progress-ring i { position: relative; z-index: 1; font-size: .9rem; font-style: normal; font-weight: 800; }

.premium-featured-post { border-color: #293a54; box-shadow: 0 24px 70px #0006; }
.premium-featured-post .post-head { align-items: center; padding: 18px 20px 8px; }
.premium-featured-post .portrait { width: 58px; height: 58px; }
.verified-dot {
  display: inline-grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #1682ff;
  color: white !important;
  font-size: 12px !important;
  vertical-align: middle;
}
.premium-featured-post .post-copy { padding: 4px 20px 14px; }
.premium-featured-post .post-copy h2 { margin: 6px 0; font-size: clamp(1.55rem,4vw,2rem); line-height: 1.15; }
.premium-featured-post .post-copy > p { color: #c6d0df; font-size: 1rem; line-height: 1.5; }
.premium-topic-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 13px; }
.premium-topic-chips span { padding: 7px 12px; border: 1px solid #6c45d6; border-radius: 999px; background: #221644; color: #bd9fff; font-size: .8rem; font-weight: 700; }
.premium-topic-chips span:nth-child(2) { border-color:#286fe0; background:#102a50; color:#65aaff; }
.premium-featured-post .video { margin: 0 18px; width: calc(100% - 36px); aspect-ratio: 16/10; border-radius: 16px; }
.premium-featured-post .video::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#05102199 0,transparent 42%); pointer-events:none; }
.premium-featured-post .play,.premium-featured-post .duration { z-index:2; }
.visual-caption { position:absolute; z-index:2; left:22px; top:22px; width:170px; color:white; font-size:1.15rem; font-weight:800; line-height:1.35; text-align:left; }

.credibility-strip {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  margin: 12px 18px;
  border: 1px solid #334966;
  border-radius: 13px;
  background: #0c1727;
  overflow: hidden;
}
.credibility-strip > div { display:flex;align-items:center;gap:11px;padding:12px 14px; }
.credibility-strip > div + div { border-left:1px solid #334966; }
.credibility-strip p { display:grid;gap:3px;margin:0; }
.credibility-strip small { color:var(--muted); }
.credibility-icon,.credibility-bars { color:#9468ff;font-size:1.5rem; }
.credibility-bars { color:#b547ef; }
.collaboration-status {
  width: calc(100% - 36px);
  margin: 0 18px 4px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:11px;
  padding:11px 15px;
  border:1px solid #20c989;
  border-radius:12px;
  background:#09261f;
  color:#5ae3b2;
  text-align:left;
  cursor:pointer;
}
.collaboration-status b { font-size:1.45rem; }
.premium-featured-post .post-actions { margin: 0 18px; padding: 8px 2px 11px; }
.premium-featured-post #bookmark { display:flex;align-items:center;gap:7px; }
.premium-featured-post #bookmark em { font-style:normal; }

.verified-solution-preview {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  margin:12px 18px 18px;
  padding:12px;
  border:1px solid #2b3b54;
  border-radius:14px;
  background:#0b1523;
}
.verified-solution-preview > div:nth-child(2) { min-width:0;display:grid;gap:3px; }
.verified-solution-preview small { color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.verified-solution-preview > button:not(.solution-resource) { border:1px solid #8c54f5;border-radius:9px;background:transparent;color:#d8c5ff;padding:9px 11px;cursor:pointer; }
.solution-resource {
  grid-column:1/-1;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border:1px solid #23344c;
  border-radius:10px;
  background:#101c2c;
  color:var(--text);
  text-align:left;
  cursor:pointer;
}
.solution-resource p { margin:0;display:grid;gap:3px; }
.solution-resource small { white-space:normal; }
.solution-resource > span { color:#8f70ff;font-size:1.25rem; }
.solution-resource > b { color:#aeb9cc;font-size:1.4rem; }

:root[data-theme="light"] .feed-tabs button { background:#fff;color:#34415c;border-color:#dce4f0;box-shadow:0 8px 24px rgba(33,55,94,.06); }
:root[data-theme="light"] .feed-tabs button.active { background:linear-gradient(120deg,#2463ff,#7c4dff 58%,#d824c7);color:white;border-color:#8757ff; }
:root[data-theme="light"] .tab-icon { background:#f1edff;color:#6841dd; }
:root[data-theme="light"] .feed-tabs button.active .tab-icon { background:#ffffff26;color:white; }
:root[data-theme="light"] .home-highlight { background:#fff;border-color:#dce4f0;box-shadow:0 12px 34px rgba(35,58,101,.08); }
:root[data-theme="light"] .local-highlight { background:radial-gradient(circle at 10% 20%,#e8ddff 0,transparent 34%),#fff;border-color:#d5c9f3; }
:root[data-theme="light"] .local-marker { border-color:#c3adef;background:linear-gradient(145deg,#f1eaff,#e4efff);color:#6540cc;box-shadow:inset 0 1px 0 #fff,0 8px 22px #4b3a8120; }
:root[data-theme="light"] .highlight-action { color:#6442ca; }
:root[data-theme="light"] .progress-ring { background:conic-gradient(#8b3ee6 var(--progress),#e4e9f2 0); }
:root[data-theme="light"] .progress-ring::after { background:#fff; }
:root[data-theme="light"] .premium-featured-post .post-copy > p { color:#536079; }
:root[data-theme="light"] .premium-topic-chips span { background:#f3edff;color:#6237c7;border-color:#a683ef; }
:root[data-theme="light"] .premium-topic-chips span:nth-child(2) { background:#edf5ff;color:#1765c3;border-color:#75a7e9; }
:root[data-theme="light"] .credibility-strip { background:#f7f9fd;border-color:#d9e2ef; }
:root[data-theme="light"] .credibility-strip > div + div { border-color:#d9e2ef; }
:root[data-theme="light"] .collaboration-status { background:#edfff7;color:#087d56;border-color:#24b77f; }
:root[data-theme="light"] .verified-solution-preview { background:#f8faff;border-color:#dbe4f0; }
:root[data-theme="light"] .verified-solution-preview > button:not(.solution-resource) { color:#5b32bd;background:#fff; }
:root[data-theme="light"] .solution-resource { background:#fff;color:var(--text);border-color:#dbe4f0; }
:root[data-theme="light"] .sample-content-label { background:linear-gradient(90deg,#f3f6fb,#f2edff);color:#6540c0;border-color:#dce4ef; }

@media (max-width: 720px) {
  body[data-surface="Mon fil"] .layout { margin-top: 10px; }
  .feed-tabs { height:76px;padding:8px 10px;gap:8px; }
  .feed-tabs button { min-height:52px;padding:8px 12px;border-radius:13px; }
  .tab-icon { width:22px;height:22px;font-size:.95rem; }
  .home-highlights { grid-template-columns:1fr;gap:8px;padding:0 10px;margin-bottom:10px; }
  .home-highlight { min-height:82px;padding:12px 14px;border-radius:14px; }
  .local-marker { width:46px;height:46px;border-radius:14px; }
  .local-marker svg { width:24px;height:24px; }
  .highlight-action { font-size:.75rem; }
  .progress-ring { width:50px;height:50px; }
  .premium-featured-post .post-head { padding:15px 14px 7px; }
  .premium-featured-post .post-copy { padding:4px 14px 12px; }
  .premium-featured-post .video { width:calc(100% - 24px);margin:0 12px;border-radius:13px;aspect-ratio:4/3; }
  .visual-caption { left:16px;top:16px;width:140px;font-size:1rem; }
  .credibility-strip,.verified-solution-preview { margin-left:12px;margin-right:12px; }
  .credibility-strip > div { padding:10px; }
  .credibility-strip small { font-size:.72rem; }
  .collaboration-status { width:calc(100% - 24px);margin-left:12px;margin-right:12px; }
  .premium-featured-post .post-actions { margin-left:12px;margin-right:12px; }
}

.explore-ranking-help { margin:-4px 0 14px;color:var(--muted);font-size:.88rem;line-height:1.45; }
.recommendation-reason { display:flex;align-items:center;gap:7px;padding:10px 16px 0;color:#bca8ff;font-size:.88rem;font-weight:700;line-height:1.35; }
.recommendation-reason span { color:#8d63ff; }
:root[data-theme="light"] .recommendation-reason { color:#6240c9; }
.feed-preference-summary { display:flex;align-items:center;justify-content:flex-end;gap:9px;margin:-2px 12px 10px;color:var(--muted);font-size:.82rem; }
.feed-preference-summary button { border:0;background:transparent;color:#b99cff;font:inherit;font-weight:750;cursor:pointer; }
.post-feed-menu { position:relative;z-index:5;flex:0 0 auto; }
.post-feed-menu summary { display:grid;width:36px;height:36px;place-items:center;border:1px solid transparent;border-radius:50%;color:var(--muted);font-size:1rem;font-weight:800;letter-spacing:-2px;cursor:pointer;list-style:none; }
.post-feed-menu summary::-webkit-details-marker { display:none; }
.post-feed-menu summary:hover,.post-feed-menu summary:focus-visible,.post-feed-menu[open] summary { border-color:#5f4aa2;background:#201936;color:white;outline:none; }
.post-feed-menu > div { position:absolute;top:42px;right:0;display:grid;width:max-content;min-width:230px;padding:7px;border:1px solid #35445c;border-radius:13px;background:#101a29;box-shadow:0 18px 45px #02060dcc; }
.post-feed-menu button { border:0;border-radius:9px;padding:11px 12px;background:transparent;color:#e8edf5;font:inherit;font-size:.88rem;text-align:left;cursor:pointer; }
.post-feed-menu button:hover,.post-feed-menu button:focus-visible { background:#251d43;outline:none; }
:root[data-theme="light"] .feed-preference-summary button { color:#633bc9; }
:root[data-theme="light"] .post-feed-menu > div { border-color:#d7deea;background:#fff;box-shadow:0 18px 42px rgba(35,58,101,.18); }
:root[data-theme="light"] .post-feed-menu button { color:#17233a; }
:root[data-theme="light"] .post-feed-menu button:hover,:root[data-theme="light"] .post-feed-menu button:focus-visible { background:#f0ebff; }

:root[data-theme="light"] .saved-responses { border-color:#d9e2ef; }
:root[data-theme="light"] .answer-block { border-color:#d9e2ef; }
:root[data-theme="light"] .answer-block.validated { background:#effbf6; }
:root[data-theme="light"] .response-more { border-color:#d9e2ef; background:#f7f9fd; color:#6542d4; }
:root[data-theme="light"] .accept-response { border-color:#b7a3ed; background:#f3efff; color:#5733aa; }
:root[data-theme="light"] .cover-menu { border-color:#d4deeb; background:#fff; box-shadow:0 18px 42px #24395f35; }
:root[data-theme="light"] .cover-menu button { color:#17233a; }
:root[data-theme="light"] .cover-menu .cover-delete { color:#a33750; }

/* Échelle typographique mobile stable : empêche le navigateur d'agrandir certains blocs isolés. */
@media (max-width: 720px) {
  body { font-size:16px; }
  .view-head h1,.dialog-card h2 { font-size:1.35rem; line-height:1.18; }
  .profile-main h1,.public-profile-name h1 { font-size:clamp(1.35rem,5.5vw,1.62rem); }
  .profile-panel h2,.result-title strong,.comments-title strong { font-size:1rem; }
  .profile-panel h3 { font-size:.9rem; }
  .profile-copy p,.post-copy p,.comment p { font-size:.94rem; }
  .profile-owner-actions button,.public-profile-actions button,.profile-share,.gradient-btn { font-size:.92rem; }
  input,select,textarea { font-size:1rem; }
  .comments-title { align-items:center; padding-top:12px; }
  .comments-title > span { font-size:.85rem; }
}

@media (max-width: 480px) {
  .feed-preference-summary { justify-content:space-between;margin-left:14px;margin-right:14px; }
  .post-head .post-feed-menu { margin-top:34px; }
  .premium-featured-post .portrait { width:50px;height:50px; }
  .premium-featured-post .post-copy h2 { font-size:1.45rem; }
  .premium-featured-post .video .play { width:54px;height:54px;font-size:23px; }
  .credibility-strip strong { font-size:.9rem; }
  .credibility-strip > div { gap:7px; }
  .premium-featured-post #bookmark em { display:none; }
  .verified-solution-preview { grid-template-columns:auto minmax(0,1fr); }
  .verified-solution-preview > button:not(.solution-resource) { grid-column:2;justify-self:start; }
}

/* Barre d’actions premium — proposition 3 : dock flottant compact. */
.post-actions,
.premium-featured-post .post-actions {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  margin:10px 16px 12px;
  padding:7px 5px;
  border:1px solid #2a3850;
  border-radius:18px;
  background:rgba(10,19,32,.92);
  box-shadow:0 9px 24px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.025);
  backdrop-filter:blur(14px);
  overflow:hidden;
}
.post-actions button,
.premium-featured-post .post-actions button {
  position:relative;
  display:flex;
  min-width:0;
  min-height:52px;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  padding:4px 3px;
  border:0;
  border-radius:11px;
  background:transparent;
  color:#aeb8c9;
  text-align:center;
  transition:background .18s ease,color .18s ease,transform .18s ease;
}
.post-actions button + button::before {
  content:"";
  position:absolute;
  left:0;
  top:10px;
  bottom:10px;
  width:1px;
  background:#27364c;
}
.post-actions button:hover,
.post-actions button:focus-visible {
  background:#18243a;
  color:#fff;
  outline:none;
}
.post-actions button:active { transform:scale(.97); }
.post-actions .action-icon {
  display:inline-flex;
  min-height:22px;
  align-items:center;
  justify-content:center;
  gap:5px;
  color:#d9e0ec;
  font-size:1rem;
  line-height:1;
}
.post-actions .action-icon i {
  font-style:normal;
  font-size:1.25rem;
  font-weight:500;
  line-height:1;
}
.post-actions .action-icon b {
  font-size:.75rem;
  font-weight:750;
  line-height:1;
}
.post-actions .action-svg {
  width:1.28rem;
  height:1.28rem;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.post-actions .action-icon .action-svg + b { margin-left:0; }
.post-actions small {
  display:block;
  max-width:100%;
  color:#9aa6b9;
  font-size:.67rem;
  font-weight:650;
  line-height:1.1;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.post-actions .liked-btn .action-icon,
.post-actions .liked-btn small { color:#ff4f78; }
.post-actions .bookmarked .action-icon,
.post-actions .bookmarked small { color:#a987ff; }
:root[data-theme="light"] .post-actions,
:root[data-theme="light"] .premium-featured-post .post-actions {
  border-color:#dde5f0;
  background:rgba(255,255,255,.94);
  box-shadow:0 9px 24px rgba(35,58,101,.1),inset 0 1px 0 #fff;
}
:root[data-theme="light"] .post-actions button { color:#53627a; }
:root[data-theme="light"] .post-actions button + button::before { background:#e0e6ef; }
:root[data-theme="light"] .post-actions button:hover,
:root[data-theme="light"] .post-actions button:focus-visible { background:#f2f5fb;color:#24334d; }
:root[data-theme="light"] .post-actions .action-icon { color:#53627a; }
:root[data-theme="light"] .post-actions small { color:#68768d; }
:root[data-theme="light"] .post-actions .liked-btn .action-icon,
:root[data-theme="light"] .post-actions .liked-btn small { color:#dc315f; }
:root[data-theme="light"] .post-actions .bookmarked .action-icon,
:root[data-theme="light"] .post-actions .bookmarked small { color:#7046d6; }

@media (max-width:720px) {
  .post-actions,
  .premium-featured-post .post-actions { margin:9px 12px 11px;padding:6px 3px;border-radius:16px; }
  .post-actions button,
  .premium-featured-post .post-actions button { min-height:50px;padding-left:1px;padding-right:1px; }
  .post-actions .action-icon i { font-size:1.18rem; }
  .post-actions small { font-size:.64rem; }
}

/* Navigation validée : structure surélevée + médaillons vitrés. */
body { padding-bottom:calc(112px + env(safe-area-inset-bottom)); }
.bottom-nav {
  left:50%;
  right:auto;
  bottom:calc(var(--visual-viewport-bottom, 0px) + 8px);
  width:min(700px,calc(100% - 16px));
  min-height:82px;
  height:auto;
  display:grid;
  grid-template-columns:1fr 1fr 86px 1fr 1fr;
  align-items:center;
  gap:0;
  padding:7px 8px calc(7px + env(safe-area-inset-bottom));
  border:1px solid #26364c;
  border-radius:28px;
  background:rgba(8,17,30,.95);
  box-shadow:0 16px 46px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.04);
  transform:translateX(-50%) translateZ(0);
  overflow:visible;
}
.bottom-nav button:not(.create) {
  min-width:0;
  min-height:66px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  padding:3px 1px;
  color:#9da9bb;
  font-size:0;
}
.bottom-nav button:not(.create) small {
  display:block;
  max-width:100%;
  color:currentColor;
  font-size:.72rem;
  font-weight:650;
  line-height:1;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.bottom-nav .nav-medallion {
  width:43px;
  height:43px;
  display:grid;
  place-items:center;
  border:1px solid rgba(190,207,231,.14);
  border-radius:50%;
  background:linear-gradient(145deg,rgba(117,137,167,.28),rgba(31,44,65,.52));
  box-shadow:inset 0 1px 1px rgba(255,255,255,.15),0 5px 12px rgba(0,0,0,.14);
  color:#b8c3d3;
  backdrop-filter:blur(10px);
  transition:transform .22s cubic-bezier(.22,1,.36,1),border-color .2s ease,background .24s ease,box-shadow .24s ease,color .2s ease;
}
.bottom-nav .nav-medallion svg { width:22px;height:22px; }
.bottom-nav button[data-section="Accueil"] svg path,
.bottom-nav button[data-section="Messages"] svg path,
.bottom-nav button[data-section="Profil"] svg circle,
.bottom-nav button[data-section="Profil"] svg path { fill:currentColor;stroke:none; }
.bottom-nav button[data-section="Explorer"] svg circle { fill:none;stroke:currentColor;stroke-width:1.6; }
.bottom-nav button[data-section="Explorer"] svg path { fill:currentColor;stroke:none; }
.bottom-nav button.active { color:#b394ff; }
.bottom-nav button.active .nav-medallion {
  border-color:rgba(255,255,255,.72);
  background:linear-gradient(145deg,#1766ff 0%,#7147f6 58%,#da27bd 100%);
  box-shadow:0 7px 20px rgba(102,62,239,.42),inset 0 1px 2px rgba(255,255,255,.34);
  color:#fff;
}
.bottom-nav button:hover .nav-medallion,
.bottom-nav button:focus-visible .nav-medallion { transform:translateY(-2px);border-color:rgba(169,137,255,.6); }
.bottom-nav button:focus-visible { outline:2px solid #9c78ff;outline-offset:2px;border-radius:14px; }
.bottom-nav .create {
  align-self:center;
  justify-self:center;
  width:76px;
  height:76px;
  min-width:76px;
  min-height:76px;
  margin-top:-34px;
  border:6px solid #f5f8fd;
  border-radius:50%;
  background:linear-gradient(145deg,#1766ff 0%,#7147f6 58%,#da27bd 100%);
  box-shadow:0 11px 27px rgba(91,49,225,.48),0 0 20px rgba(78,111,255,.2);
  color:#fff;
  font-size:0;
}
.bottom-nav .create > span {
  display:block;
  color:#fff;
  font-size:2.45rem;
  font-weight:300;
  line-height:1;
  transform:none;
  transform-origin:center;
}
.bottom-nav .create:hover > span,
.bottom-nav .create:focus-visible > span { transform:rotate(90deg); }
.bottom-nav .create.composer-launching { animation:create-button-settle .3s cubic-bezier(.22,1,.36,1) both; }
.bottom-nav .create.composer-launching > span { animation:create-plus-rotate .3s cubic-bezier(.22,1,.36,1) both; }
@keyframes create-plus-rotate { 0%{transform:none} 58%{transform:rotate(110deg) scale(.88)} 100%{transform:none} }
@keyframes create-button-settle { 50%{box-shadow:0 8px 19px rgba(91,49,225,.38),0 0 28px rgba(125,79,255,.34);transform:scale(.96)} }

#createDialog:focus,
#createDialog:focus-visible,
#createDialog [data-close-create]:focus,
#createDialog [data-close-create]:focus-visible { outline:none; }
#createDialog[open]::backdrop { animation:composer-backdrop-in .2s ease-out both; }
#createDialog[open] > .composer-card { animation:composer-panel-in .3s cubic-bezier(.22,1,.36,1) both; transform-origin:50% 100%; }
#createDialog.composer-closing::backdrop { animation:composer-backdrop-out .17s ease-in both; }
#createDialog.composer-closing > .composer-card { animation:composer-panel-out .17s ease-in both; }
@keyframes composer-backdrop-in { from{opacity:0} to{opacity:1} }
@keyframes composer-backdrop-out { from{opacity:1} to{opacity:0} }
@keyframes composer-panel-in { from{opacity:0;transform:translateY(18px) scale(.988)} to{opacity:1;transform:none} }
@keyframes composer-panel-out { from{opacity:1;transform:none} to{opacity:0;transform:translateY(10px) scale(.992)} }

@media (prefers-reduced-motion: reduce) {
  .surface-enter,
  .bottom-nav .create.composer-launching,
  .bottom-nav .create.composer-launching > span,
  #createDialog[open]::backdrop,
  #createDialog[open] > .composer-card,
  #createDialog.composer-closing::backdrop,
  #createDialog.composer-closing > .composer-card { animation:none !important; }
  .bottom-nav .nav-medallion,
  .feed-tabs button,
  .gradient-btn,
  .primary-outline,
  .new-content,
  .create-types button { transition-duration:.01ms !important; }
}
.messages-nav > b {
  top:5px;
  right:calc(50% - 29px);
  z-index:2;
  min-width:18px;
  height:18px;
  border:2px solid #0b1422;
  padding:0 4px;
  font-size:.64rem;
}
:root[data-theme="light"] .bottom-nav {
  border-color:#e1e8f2;
  background:rgba(255,255,255,.97);
  box-shadow:0 16px 46px rgba(40,59,96,.16),inset 0 1px 0 #fff;
}
:root[data-theme="light"] .bottom-nav button:not(.create) { color:#66758d; }
:root[data-theme="light"] .bottom-nav .nav-medallion {
  border-color:rgba(181,197,220,.28);
  background:linear-gradient(145deg,rgba(248,251,255,.95),rgba(219,228,241,.72));
  box-shadow:inset 0 1px 1px #fff,0 5px 13px rgba(60,80,115,.12);
  color:#6d7d95;
}
:root[data-theme="light"] .bottom-nav button.active { color:#6542d7; }
:root[data-theme="light"] .bottom-nav button.active .nav-medallion {
  background:linear-gradient(145deg,#1766ff 0%,#7147f6 58%,#da27bd 100%);
  color:#fff;
}
:root[data-theme="light"] .bottom-nav .create { border-color:#fff; }
:root[data-theme="light"] .messages-nav > b { border-color:#fff; }
:root[data-theme="light"] .attachment-status { border-color:#d7cfee; background:#f5f1ff; color:#332653; }
:root[data-theme="light"] .attachment-thumb,:root[data-theme="light"] .attachment-file-icon { border-color:#c8b8ef; background:#fff; }
:root[data-theme="light"] .attachment-video-frame { border-color:#c8b8ef; background:#080b13; }
:root[data-theme="light"] .attachment-copy strong { color:#332653; }
:root[data-theme="light"] .attachment-copy small { color:#756b87; }
:root[data-theme="light"] .attachment-status .attachment-remove { border-color:#d2c5ee; background:#eee8fb; color:#54349b; }

/* Pièces jointes discrètes dans les réponses et commentaires */
.thread-composer {
  flex-wrap:wrap;
  gap:7px;
  scroll-margin-block:14px 28px;
}
.thread-composer > .avatar { flex:0 0 auto; }
.thread-composer > input:not([type="file"]) {
  flex:1 1 110px;
  min-width:90px;
}
.thread-composer .thread-attach,
.thread-composer .thread-send {
  display:grid;
  flex:0 0 36px;
  place-items:center;
  width:36px;
  height:36px;
  min-width:36px;
  padding:7px;
  border:0;
  border-radius:50%;
  background:transparent;
  color:#a985ff;
}
.thread-composer .thread-attach:hover,
.thread-composer .thread-send:hover { background:rgba(143,91,255,.12); }
.thread-composer .thread-attach svg,
.thread-composer .thread-send svg {
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.thread-file-state {
  display:grid;
  flex:1 0 100%;
  grid-template-columns:32px minmax(0,1fr) 30px;
  align-items:center;
  gap:8px;
  min-width:0;
  padding:7px 8px;
  border:1px solid rgba(143,91,255,.32);
  border-radius:11px;
  background:rgba(143,91,255,.08);
}
.thread-file-state[hidden] { display:none; }
.thread-file-icon {
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:8px;
  background:rgba(143,91,255,.16);
  color:#bb9aff;
}
.thread-file-state > span:nth-child(2) { min-width:0; }
.thread-file-state strong,
.thread-file-state small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.thread-file-state strong { color:var(--text); font-size:.76rem; }
.thread-file-state small { margin-top:1px; color:var(--muted); font-size:.68rem; }
.thread-file-state button {
  width:28px;
  height:28px;
  min-width:28px;
  padding:0;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.06);
  color:var(--muted);
  font-size:1.05rem;
}
.thread-attachment {
  width:min(100%,360px);
  margin-top:8px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:11px;
  background:rgba(255,255,255,.025);
}
.thread-attachment summary {
  display:grid;
  grid-template-columns:24px auto minmax(0,1fr) 18px;
  align-items:center;
  gap:7px;
  min-height:40px;
  padding:7px 9px;
  color:var(--text);
  cursor:pointer;
  list-style:none;
}
.thread-attachment summary::-webkit-details-marker { display:none; }
.thread-attachment summary > span { color:#a985ff; text-align:center; }
.thread-attachment summary strong { font-size:.76rem; }
.thread-attachment summary small { overflow:hidden; color:var(--muted); font-size:.68rem; text-overflow:ellipsis; white-space:nowrap; }
.thread-attachment summary b { color:var(--muted); font-size:.88rem; transition:transform .18s ease; }
.thread-attachment[open] summary b { transform:rotate(180deg); }
.thread-attachment > div {
  padding:8px;
  border-top:1px solid var(--line);
  background:#050b14;
}
.thread-attachment img,
.thread-attachment video {
  display:block;
  width:100%;
  max-height:260px;
  object-fit:contain;
  border-radius:8px;
  background:#02050a;
}
.thread-document-link {
  display:flex;
  align-items:center;
  gap:9px;
  min-height:44px;
  padding:9px 11px;
  border-radius:8px;
  background:rgba(143,91,255,.1);
  color:#c9b3ff;
  text-decoration:none;
}
:root[data-theme="light"] .thread-file-state { border-color:#d7c8f2; background:#f7f3ff; }
:root[data-theme="light"] .thread-file-icon { background:#eee6ff; color:#6840cb; }
:root[data-theme="light"] .thread-file-state button { background:#ece7f5; color:#655a75; }
:root[data-theme="light"] .thread-attachment { background:#fbfcff; }
:root[data-theme="light"] .thread-attachment > div { background:#f4f7fb; }
:root[data-theme="light"] .thread-document-link { background:#eee8ff; color:#51379a; }

/* Sur iPhone, libère l'espace du clavier et garde le champ actif visible. */
:root.keyboard-visible.thread-input-active body {
  padding-bottom:calc(var(--visual-viewport-bottom, 0px) + 42px);
}
:root.keyboard-visible.thread-input-active .bottom-nav {
  opacity:0;
  pointer-events:none;
  transform:translateX(-50%) translateY(calc(100% + 18px));
}
.bottom-nav {
  transition:opacity .18s ease,transform .22s cubic-bezier(.22,1,.36,1);
}

@media (max-width:430px) {
  body { padding-bottom:calc(106px + env(safe-area-inset-bottom)); }
  .bottom-nav { grid-template-columns:1fr 1fr 78px 1fr 1fr;min-height:78px;padding-left:4px;padding-right:4px;border-radius:24px; }
  .bottom-nav button:not(.create) { min-height:61px; }
  .bottom-nav .nav-medallion { width:39px;height:39px; }
  .bottom-nav .nav-medallion svg { width:20px;height:20px; }
  .bottom-nav button:not(.create) small { font-size:.66rem; }
  .bottom-nav .create { width:70px;height:70px;min-width:70px;min-height:70px;margin-top:-31px;border-width:5px; }
  .bottom-nav .create > span { font-size:2.25rem; }
}

.profile-opportunity-panel { margin-top:18px; }
.profile-opportunity-list { display:grid; gap:10px; margin-top:14px; }
.profile-opportunity-row { display:grid; grid-template-columns:38px 1fr auto; align-items:center; gap:12px; width:100%; padding:13px 14px; border:1px solid var(--line); border-radius:16px; background:var(--surface-soft); color:inherit; text-align:left; cursor:pointer; }
.profile-opportunity-row:hover { border-color:var(--accent); transform:translateY(-1px); }
.opportunity-icon { display:grid; place-items:center; width:34px; height:34px; border-radius:12px; background:linear-gradient(135deg,#366dff,#c92ad5); color:#fff; font-size:1.1rem; }
.profile-opportunity-row strong,.profile-opportunity-row small { display:block; }
.profile-opportunity-row small { margin-top:3px; color:var(--muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.opportunity-arrow { color:var(--accent); font-size:1.5rem; }

:root[data-theme="light"] .admin-settings-entry { border-color:#d7cbed; background:linear-gradient(145deg,#fff,#f4f0fb); color:#15213a; }
:root[data-theme="light"] .admin-settings-entry>span:first-child { background:#eee7ff; color:#6840cb; }
:root[data-theme="light"] .moderation-group,
:root[data-theme="light"] .moderation-overview button { border-color:#d7dfec; background:linear-gradient(145deg,#fff,#f6f8fc); color:#15213a; }
:root[data-theme="light"] .moderation-overview button.active { border-color:#8159e6; background:#f0eaff; box-shadow:inset 0 0 0 1px #8159e633; }
:root[data-theme="light"] .moderation-overview button.active span { color:#51379a; }
