/* D owns the visual world. These changes refine reading and desktop task density. */
.card-description {
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3;
  overflow:hidden; white-space:pre-wrap; overflow-wrap:anywhere; margin:12px 0 16px;
}
.card-context {display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap}
.card-context .tags {margin:0; gap:8px}
.card-solution-link {display:inline-flex; align-items:center; gap:8px; min-height:32px; color:var(--primary); font-size:13px}
.card-solution-link svg {width:16px; height:16px}
.card-solution-link:hover {text-decoration:underline; text-underline-offset:4px}
.card-bottom {margin-top:16px; gap:16px; flex-wrap:wrap}
.card-bottom .follow {margin-left:auto}
.card-open {font-size:13px; gap:8px; min-height:44px}
.card-action-label {font-size:13px}
.problem-card .card-top {margin-bottom:12px}
.detail-reading .body-copy {white-space:pre-wrap}
.detail-meta {margin-bottom:32px}
.detail-aside {position:sticky; top:112px}
.reading-section {margin-bottom:48px}
.detail-reading .solution-entry {padding-block:24px}
.detail-reading .section-note {font-size:14px}

.publish-page,.publish-preview-layout {max-width:1104px; margin-inline:auto}
.publish-page .flow-back {margin-bottom:16px}
.publish-page .flow-heading {margin-bottom:24px}
.publish-page .editor-layout,.publish-preview-layout {display:grid; grid-template-columns:minmax(0,1fr) 296px; gap:64px; align-items:start}
.publish-field {margin-top:24px; min-width:0}
.publish-field:first-child {margin-top:0}
.publish-field .form-label {margin:0; display:flex; justify-content:space-between; align-items:baseline; gap:16px}
.field-kind {font:400 13px/1.75 var(--body); color:var(--muted)}
.field-hint {font-size:14px; color:var(--muted); margin:8px 0 12px}
.publish-field .form-input {width:100%; margin:0}
.publish-field textarea {min-height:160px; line-height:1.75; resize:vertical}
.publish-field-foot {display:flex; justify-content:space-between; align-items:baseline; gap:12px; margin-top:4px; min-height:24px}
.publish-field-foot .field-error {margin:0; min-height:0}
.field-count {color:var(--muted); font-size:12px; margin-left:auto; white-space:nowrap; font-variant-numeric:tabular-nums}
.publish-page .additional-fields,.keyword-assistant {margin:8px 0 0; padding:0; border-top:1px solid var(--line); border-bottom:0}
.publish-page .additional-fields>summary,.keyword-assistant>summary {cursor:pointer; padding:16px 0; font-weight:600; min-height:56px}
.publish-page .additional-fields>summary .field-kind,.keyword-assistant>summary .field-kind {margin-left:8px}
.publish-optional {padding-bottom:8px}
.publish-optional>.form-label {margin-top:0}
.publish-page .publish-actions {margin-top:24px}
.publish-page .form-meta {font-size:13px; line-height:1.75; margin-top:12px}
.keyword-assistant-body {padding-bottom:16px}
.keyword-assistant-body>.publish-field {margin-top:12px}
.keyword-assistant .form-actions {margin:12px 0 0}
.keyword-list:empty,.work-error:empty {display:none}
.keyword-assistant .work-error {min-height:0; margin:8px 0}
.publish-guide {position:sticky; top:112px; min-width:0}
.publish-guide>h2 {font:600 16px/1.75 var(--body); margin-bottom:16px}
.compose-preview-card {background:var(--surface); border-radius:16px; padding:24px}
.compose-preview-card h3 {font:600 20px/1.6 var(--display); text-wrap:pretty; overflow-wrap:anywhere; margin:16px 0 12px}
.compose-preview-story {display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; white-space:pre-wrap; overflow-wrap:anywhere; font-size:14px; line-height:1.75}
.compose-preview-story.is-placeholder {color:var(--muted)}
.compose-preview-meta {border-top:1px solid var(--line); padding-top:16px; margin-top:20px; color:var(--muted); font-size:12px}
.publish-guide-copy {margin-top:32px; color:var(--muted); font-size:14px}
.publish-guide-copy h3 {font:600 14px/1.75 var(--body); color:var(--ink); margin:24px 0 8px}
.publish-guide-copy h3:first-child {margin-top:0}
.publish-preview-layout .preview-reading {width:100%; padding:0; background:none; max-width:none}
.publish-preview-layout .preview-reading>h2 {margin-block:20px 16px}
.publish-preview-layout .preview-reading>.body-copy {margin-bottom:24px}
.publish-preview-layout .status-message {margin-top:32px; padding:24px}
.publish-preview-layout>.publish-guide>.form-meta {font-size:13px; margin-top:16px}

.application-page {max-width:1104px}
.application-page .application-topline {margin-bottom:0}
.application-page .flow-heading {margin-bottom:20px}
.application-steps {margin-bottom:32px}
.application-layout {grid-template-columns:minmax(0,1fr) 296px; gap:64px}
.application-form .form-label {font-size:16px; font-weight:600}
.application-form textarea.form-input {min-height:112px}
.application-section+.application-section {margin-top:24px}
.application-material-section {padding-top:24px}
.application-material-section .application-material {margin-top:0}
.application-guide {position:sticky; top:112px; padding-top:16px}
.application-guide h2 {font-family:var(--display); font-size:20px}
.application-guide-detail {margin-top:20px}
.application-guide .application-demo {margin-bottom:0; font-size:12px}
.application-limits {margin-top:20px; font-size:12px}

.profile-heading {margin-bottom:32px; align-items:center}
.profile-heading .flow-heading {margin-bottom:0}
.profile-nav-group+.profile-nav-group {margin-top:24px}
.profile-nav {position:sticky; top:104px; align-self:start}
.profile-nav-group h2 {font-family:var(--body); font-size:14px}
.personal-row {padding-block:24px}
.personal-row-top {margin-bottom:8px}
.personal-row h2 {margin-top:8px}
.personal-row>p {margin-top:8px; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden}
.profile-resume {padding-bottom:24px; margin-bottom:24px; border-bottom:1px solid var(--line)}
.profile-resume h2 {font:600 18px/1.6 var(--body); margin-bottom:8px}
.profile-resume>p {margin-bottom:8px; overflow-wrap:anywhere}
.profile-resume>.form-meta {margin-left:16px; font-size:13px}
.solution-history {margin-top:32px}
.solution-history>h2 {font:600 22px/1.5 var(--display); margin-bottom:16px}
.solution-history-entry {padding:16px 0; border-bottom:1px solid var(--line)}
.solution-history-entry time {font-size:13px; color:var(--muted)}
.solution-history-entry p {margin-top:8px; white-space:pre-wrap; overflow-wrap:anywhere}

.work-layout {gap:48px}
.work-layout .work-main>.flow-heading {margin-bottom:24px}
.work-layout .work-main>.flow-heading h1 {font-size:32px}
.work-nav {gap:0}
.work-nav a {min-height:44px; padding:8px 12px; font-size:14px}
.work-nav h2 {font-size:13px; margin:24px 12px 8px}
.work-section {margin-top:32px}
.work-row {padding-block:20px}
.work-toolbar {margin-bottom:16px}
.work-main .work-list>li {padding:16px 0}
.work-main .work-list h3 {font-size:16px; margin:8px 0}
.work-main .work-row h2 {font-size:20px}
.work-main .work-table th,.work-main .work-table td {padding:12px 16px; min-width:88px; font-size:14px}
.review-queue-table td:first-child {min-width:240px; width:38%}
.review-queue-table td:nth-child(4) {font-size:12px; color:var(--muted)}
.review-queue-table .form-meta {font-size:12px; margin:4px 0 0}
.review-queue-table .text-link {font-size:13px; white-space:nowrap}
.review-decision {margin-top:32px}
.work-main .review-columns h2 {font-size:20px}
.notice-total {color:var(--muted); font-size:14px}
.notice-filter {gap:8px; margin-bottom:8px}
.notice-filter .category {display:inline-flex; gap:8px; align-items:center; min-height:40px; padding:8px 12px; font-size:13px}
.notice-filter .category>span {font-size:12px; font-variant-numeric:tabular-nums}
.status-filter>a.selected {background:var(--selected); color:var(--primary); font-weight:600; border-radius:8px}
.work-main .notice-list>.notice-row {display:grid; grid-template-columns:40px minmax(0,1fr) 88px; gap:16px; padding:20px 0}
.notice-symbol {display:flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:12px; background:var(--soft); color:var(--muted); margin-top:4px}
.is-unread .notice-symbol {background:var(--selected); color:var(--primary)}
.notice-copy {min-width:0}
.notice-copy .work-meta {font-size:12px; gap:8px}
.notice-copy .work-meta time {margin-left:auto; font-size:12px}
.notice-copy h3 {margin:4px 0!important}
.notice-copy h3 .text-link {min-height:32px; padding:0; font-size:16px; text-align:left; line-height:1.75}
.is-read .notice-copy h3 .text-link {font-weight:400}
.notice-copy>p {margin:4px 0 0; font-size:14px; color:var(--muted); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden}
.notice-actions {display:flex; justify-content:end; align-items:center}
.notice-actions .text-link,.notice-actions .form-meta {font-size:13px; text-align:right}

@media(min-width:1000px) {
  .work-nav {max-height:calc(100dvh - 136px); overflow:auto; padding-right:4px}
  .desktop-messaging .flow-page {padding-top:24px; padding-bottom:32px}
  .message-page {max-width:1120px; margin-inline:auto}
  .message-page>.flow-back {margin-bottom:8px}
  .message-page>.flow-heading {margin-bottom:16px}
  .message-page>.flow-heading h1 {font-size:28px}
  .message-layout {max-width:none; grid-template-columns:264px minmax(0,1fr); gap:0; height:clamp(480px,calc(100dvh - 224px),780px); border:1px solid var(--line); border-radius:16px; background:var(--surface); overflow:hidden}
  .message-sidebar {display:flex; flex-direction:column; min-height:0; padding:20px 16px; background:var(--soft); border-right:1px solid var(--line)}
  .message-sidebar>h2 {font:600 16px/1.75 var(--body); margin:0 8px 16px}
  .message-sidebar>.text-link {flex:none; margin:12px 8px 0; font-size:13px}
  .message-threads {flex:1; overflow:auto; min-height:0}
  .message-threads a {border-radius:12px; padding:12px; min-height:80px}
  .message-threads strong {font-size:14px}
  .message-threads p {font-size:13px; line-height:1.6; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden}
  .message-conversation {display:flex; flex-direction:column; min-height:0; padding:20px 24px}
  .message-conversation>.work-toolbar {margin-bottom:4px; flex:none}
  .message-conversation>.work-toolbar h2 {font:600 18px/1.6 var(--body)}
  .message-conversation>.work-toolbar .text-link {font-size:13px; min-height:32px}
  .message-conversation>.form-meta {font-size:12px; margin:4px 0; flex:none}
  .message-conversation>.work-banner {padding:12px 16px; margin:8px 0; flex:none}
  .message-conversation>.work-banner h3 {font-size:14px; margin-bottom:4px}
  .message-conversation>.work-banner p {font-size:13px}
  .message-conversation>.work-banner .secondary {min-height:40px; font-size:13px; padding:8px 12px; margin-top:8px}
  .message-history {flex:1; min-height:96px; max-height:none; margin:16px 0; padding-right:12px}
  .message-item {margin-bottom:16px}
  .message-item .work-meta {font-size:12px; gap:8px}
  .message-item .message-bubble {font-size:14px; line-height:1.75; padding:10px 14px; margin:4px 0; max-width:88%}
  .message-composer {flex:none; margin:0; border-top:1px solid var(--line); padding-top:12px}
  .message-composer .form-label {margin:0 0 8px; font-size:13px}
  .message-layout .message-composer textarea.form-input {height:72px; min-height:64px; max-height:120px; margin:0; padding:10px 12px; font-size:14px}
  .message-composer .form-meta {font-size:12px; margin:4px 0 0; line-height:1.6}
  .message-composer .work-error {margin:4px 0; font-size:13px; min-height:0}
  .message-composer .form-actions {gap:12px; margin-top:8px}
  .message-composer .primary,.message-composer .secondary {min-height:44px; padding:8px 16px; font-size:14px}
  .message-composer .text-link {font-size:13px}
  .message-page>.prototype-controls {margin-top:16px; font-size:13px}
  .message-page>.demo-note {margin-top:12px; font-size:12px}
  .message-conversation>.work-list {overflow:auto}
}
@media(min-width:1000px) and (max-height:760px) {
  .message-layout {height:clamp(400px,calc(100dvh - 200px),560px)}
  .message-conversation {padding:16px 20px}
}
@media(max-width:1100px) {
  .publish-page .editor-layout,.publish-preview-layout,.application-layout {gap:32px; grid-template-columns:minmax(0,1fr) 264px}
  .card-context {align-items:start}
}
@media(max-width:900px) {
  .publish-page .editor-layout,.publish-preview-layout,.application-layout {grid-template-columns:minmax(0,1fr)}
  .publish-guide,.application-guide,.detail-aside,.profile-nav {position:static}
  .publish-guide {max-width:640px}
  .work-main .notice-list>.notice-row {grid-template-columns:32px minmax(0,1fr); gap:12px}
  .notice-symbol {width:32px; height:32px}
  .notice-actions {grid-column:2; justify-content:start}
}
@media(max-width:700px) {
  .card-open {margin-left:auto}
  .card-bottom .follow {margin-left:0}
  .card-action-label {display:none}
  .card-context {gap:8px}
  .card-bottom {gap:12px}
  .profile-resume>.form-meta {display:block; margin-left:0}
  .notice-copy .work-meta time {margin-left:0}
}
@media(prefers-reduced-motion:reduce) {
  .message-threads a,.card-solution-link {transition:none}
}
