/* Private feedback workshop. Use the same semantic palette in every theme. */
:root[data-appearance] {
  & .feedback-home-entry {display:flex;align-items:center;gap:16px;width:100%;margin:30px 0 0;padding:22px;text-align:left;background:var(--ui-panel);color:var(--ui-ink);border:1px solid var(--ui-line);border-radius:var(--ui-radius);cursor:pointer}
  & .feedback-home-mark {display:grid;place-items:center;width:48px;height:48px;flex:0 0 auto;background:var(--ui-soft);color:var(--ui-accent);border-radius:var(--ui-radius);font:26px/1 serif}
  & .feedback-home-entry>span:nth-child(2) {display:grid;gap:5px;flex:1}
  & .feedback-home-entry strong {font:700 16px/1.6 'Noto Sans TC',sans-serif;color:var(--ui-ink)!important}
  & .feedback-home-entry small {font:400 12px/1.8 'Noto Sans TC',sans-serif;color:var(--ui-muted)!important}
  & .feedback-home-entry>b {color:var(--ui-accent);font-size:22px}
  & .feedback-intro {display:flex;gap:18px;align-items:center;padding:22px 24px;margin:20px 0 26px;background:var(--ui-panel);border:1px solid var(--ui-line);border-radius:var(--ui-radius)}
  & .feedback-intro>span {display:grid;place-items:center;flex:0 0 64px;height:64px;border:1px solid var(--ui-line);border-radius:50%;color:var(--ui-accent);background:var(--ui-soft);font:34px/1 serif}
  & .feedback-intro strong {font:700 18px/1.6 'Noto Serif TC',serif;color:var(--ui-ink)!important}
  & .feedback-intro p {margin:7px 0 0;font:400 13px/1.9 'Noto Sans TC',sans-serif;color:var(--ui-muted)!important}
  & .feedback-controls {display:grid;gap:18px;margin:0 0 26px}
  & .feedback-scope {display:flex;gap:7px;padding:5px;border:1px solid var(--ui-line);border-radius:var(--ui-radius);background:var(--ui-inset);width:fit-content;max-width:100%}
  & .feedback-scope button {min-height:44px;padding:10px 20px;border:1px solid transparent;border-radius:calc(var(--ui-radius) - 3px);background:transparent;color:var(--ui-muted);font:700 13px/1.5 'Noto Sans TC',sans-serif;cursor:pointer}
  & .feedback-scope button[aria-pressed="true"] {background:var(--ui-accent);color:var(--ui-on-accent)}
  & .feedback-filter-grid {display:grid;grid-template-columns:minmax(150px,.8fr) minmax(140px,.8fr) minmax(180px,1.4fr) auto;gap:12px;align-items:end}
  & .feedback-filter-grid label {display:grid;gap:7px;min-width:0;color:var(--ui-muted);font:700 12px/1.5 'Noto Sans TC',sans-serif}
  & .feedback-filter-grid :is(select,input) {box-sizing:border-box;width:100%;min-width:0;min-height:46px;padding:10px 12px;border:1px solid var(--ui-control-line)!important;border-radius:var(--ui-radius);background:var(--ui-inset)!important;color:var(--ui-ink)!important;font:500 14px/1.5 'Noto Sans TC',sans-serif}
  & .feedback-filter-grid input::placeholder {color:var(--ui-muted)!important;opacity:1}
  & .feedback-filter-grid .ghost {height:46px;margin:0}
  & .feedback-list-heading {display:flex;justify-content:space-between;align-items:center;gap:16px;margin:24px 0 15px}
  & .feedback-list-heading h2 {font:700 20px/1.5 'Noto Serif TC',serif;color:var(--ui-ink);margin:0}
  & .feedback-list-heading output {color:var(--ui-muted);font:500 12px/1.7 'Noto Sans TC',sans-serif;text-align:right}
  & .feedback-list {display:grid;gap:14px}
  & .feedback-card {display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:15px;align-items:start;width:100%;padding:22px;text-align:left;background:var(--ui-panel);border:1px solid var(--ui-line);border-radius:var(--ui-radius);color:var(--ui-ink);cursor:pointer;transition:background .15s,border-color .15s}
  & .feedback-card:hover {background:var(--ui-raised);border-color:var(--ui-accent)}
  & .feedback-area-mark {display:grid;place-items:center;width:46px;height:46px;background:var(--ui-soft);color:var(--ui-accent);border:1px solid var(--ui-line);border-radius:var(--ui-radius);font:700 20px/1 'Noto Serif TC',serif}
  & .feedback-card-copy {display:grid;min-width:0;gap:7px}
  & .feedback-card-labels {display:flex;flex-wrap:wrap;gap:7px;color:var(--ui-muted);font:500 11px/1.5 'Noto Sans TC',sans-serif}
  & .feedback-card-title {font:700 17px/1.6 'Noto Sans TC',sans-serif;color:var(--ui-ink);overflow-wrap:anywhere}
  & .feedback-card-excerpt {display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;color:var(--ui-muted);font:400 13px/1.8 'Noto Sans TC',sans-serif;overflow-wrap:anywhere}
  & .feedback-card-meta {display:flex;flex-wrap:wrap;gap:6px 14px;color:var(--ui-muted);font:500 11px/1.7 'Noto Sans TC',sans-serif;margin-top:5px}
  & .feedback-card-side {display:grid;gap:18px;justify-items:end}
  & .feedback-card-side>b {font:24px/1 sans-serif;color:var(--ui-accent)}
  & .feedback-status {display:inline-flex;align-items:center;gap:6px;padding:5px 10px;white-space:nowrap;border:1px solid var(--ui-line);border-radius:99px;background:var(--ui-soft);color:var(--ui-ink)!important;font:700 11px/1.6 'Noto Sans TC',sans-serif}
  & .feedback-status:before {content:'';width:6px;height:6px;border-radius:50%;background:currentColor}
  & .feedback-status[data-status="resolved"] {background:var(--ui-success-bg);border-color:var(--ui-success);color:var(--ui-success)!important}
  & .feedback-status[data-status="new"] {color:var(--ui-accent)!important}
  & .feedback-status[data-status="closed"] {background:var(--ui-inset);color:var(--ui-muted)!important}
  & .feedback-status[data-status="planned"] {border-style:dashed}
  & .feedback-load-more {display:block;margin:24px auto;min-width:200px;min-height:48px}
  & .feedback-list .empty-state {background:var(--ui-panel)!important;border:1px dashed var(--ui-line)!important;box-shadow:none!important}
  & .feedback-list .empty-state :is(h2,p,b) {color:var(--ui-ink)!important}
  & .feedback-list .empty-state p {color:var(--ui-muted)!important}
  & :is(#feedbackComposeModal,#feedbackDetailModal) .feedback-dialog {width:min(740px,calc(var(--dialog-viewport-width,100vw) - max(var(--dialog-edge),var(--dialog-safe-left)) - max(var(--dialog-edge),var(--dialog-safe-right))))!important}
  & .feedback-dialog :is(h2,h3) {overflow-wrap:anywhere}
  & .feedback-dialog>h2 {font-size:26px;line-height:1.5}
  & .feedback-dialog>p {font-size:13px;line-height:1.9}
  & :is(#feedbackFields,#feedbackReplyFields) {display:block;border:0!important;margin:0!important;padding:0!important;min-width:0}
  & .feedback-dialog label {font-size:13px;line-height:1.7}
  & .feedback-dialog .form-grid>label {display:block!important}
  & .feedback-dialog .form-grid>label>:is(input,select,textarea) {display:block;margin-top:8px}
  & .feedback-dialog :is(input,textarea,select) {font-family:'Noto Sans TC',sans-serif;line-height:1.7}
  & .feedback-field-heading {display:flex;justify-content:space-between;align-items:center;gap:14px;margin:8px 0 12px}
  & .feedback-field-heading strong {font:700 13px/1.7 'Noto Sans TC',sans-serif;color:var(--ui-ink)}
  & .feedback-field-heading small {display:block;font:400 11px/1.7 'Noto Sans TC',sans-serif;color:var(--ui-muted)}
  & .feedback-image-previews {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  & .feedback-image-preview {position:relative;margin:0;min-width:0;border:1px solid var(--ui-line);border-radius:var(--ui-radius);background:var(--ui-inset);overflow:hidden}
  & .feedback-image-preview img {display:block;width:100%;height:140px;object-fit:contain}
  & .feedback-image-preview figcaption {padding:7px;color:var(--ui-muted);font:500 11px/1.7 'Noto Sans TC',sans-serif;text-align:center}
  & .feedback-image-preview button {display:flex;justify-content:center;align-items:center;gap:4px;width:100%;min-height:44px;border:0;border-top:1px solid var(--ui-line);border-radius:0;background:var(--ui-raised);color:var(--ui-ink);font:700 12px/1.5 'Noto Sans TC',sans-serif;cursor:pointer}
  & .feedback-context {margin:16px 0 0;padding:12px 14px;background:var(--ui-soft);border:1px solid var(--ui-line);border-radius:var(--ui-radius);font:400 12px/1.8 'Noto Sans TC',sans-serif;color:var(--ui-muted)!important}
  & .feedback-detail-top {display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}
  & .feedback-detail-top>span:first-child {font:700 11px/1.5 'Noto Sans TC',sans-serif;color:var(--ui-muted)}
  & #feedbackDetailTitle {font-size:26px;line-height:1.5;margin:9px 0!important;color:var(--ui-ink)!important}
  & .feedback-detail-meta {display:flex;flex-wrap:wrap;gap:5px 16px;margin:10px 0 20px;color:var(--ui-muted);font:400 12px/1.8 'Noto Sans TC',sans-serif}
  & .feedback-description {padding:20px;background:var(--ui-inset);border:1px solid var(--ui-line);border-radius:var(--ui-radius);color:var(--ui-ink);font:400 15px/1.95 'Noto Sans TC',sans-serif;white-space:pre-wrap;overflow-wrap:anywhere}
  & .feedback-detail-images {margin:22px 0}
  & .feedback-detail-images h3,& .feedback-timeline h3 {font-size:16px;color:var(--ui-ink)!important;margin:0 0 12px}
  & .feedback-screenshots {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  & .feedback-screenshots a {display:grid;border:1px solid var(--ui-line);border-radius:var(--ui-radius);background:var(--ui-inset);color:var(--ui-ink);overflow:hidden;text-decoration:none}
  & .feedback-screenshots img {display:block;width:100%;height:150px;object-fit:contain}
  & .feedback-screenshots a span {padding:9px;text-align:center;font:700 11px/1.6 'Noto Sans TC',sans-serif;background:var(--ui-raised)}
  & .feedback-image-error {grid-column:1/-1;padding:15px;border:1px dashed var(--ui-line);color:var(--ui-muted);font:400 13px/1.8 'Noto Sans TC',sans-serif}
  & .feedback-image-error button {display:block;margin-top:10px}
  & .feedback-timeline {margin-top:26px}
  & .feedback-thread-controls {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin:0 0 16px;color:var(--ui-muted);font:500 12px/1.7 'Noto Sans TC',sans-serif}
  & .feedback-thread-controls .ghost {min-height:44px;margin:0;font-size:12px}
  & .feedback-thread-error {color:var(--ui-danger)!important;font:500 13px/1.8 'Noto Sans TC',sans-serif;margin:0 0 14px}
  & .feedback-timeline ol {display:grid;gap:14px;padding:0;margin:0;list-style:none}
  & .feedback-message {padding:16px;border:1px solid var(--ui-line);border-left:3px solid var(--ui-line);border-radius:var(--ui-radius);background:var(--ui-inset)}
  & .feedback-message.is-staff {border-left-color:var(--ui-accent);background:var(--ui-raised)}
  & .feedback-message header {display:flex;flex-wrap:wrap;gap:5px 10px;align-items:center;color:var(--ui-ink);font:700 13px/1.7 'Noto Sans TC',sans-serif}
  & .feedback-message header>span {color:var(--ui-muted);font-size:11px;font-weight:400}
  & .feedback-dialog .feedback-message header>small {margin-left:auto;color:var(--ui-muted)!important;font-size:11px;font-weight:400}
  & .feedback-message p {font:400 14px/1.9 'Noto Sans TC',sans-serif;color:var(--ui-ink)!important;white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0 0}
  & .feedback-status-change {display:block;padding-top:9px;font:700 11px/1.7 'Noto Sans TC',sans-serif;color:var(--ui-accent)}
  & .feedback-timeline-empty {padding:17px;border:1px dashed var(--ui-line);border-radius:var(--ui-radius);color:var(--ui-muted);font:400 13px/1.8 'Noto Sans TC',sans-serif}
  & #feedbackReplyForm {margin-top:24px;border-top:1px solid var(--ui-line);padding-top:20px}
  & .feedback-reply-heading {display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px}
  & .feedback-reply-heading h3 {margin:0;font-size:18px}
  & .feedback-reply-heading label {display:flex;align-items:center;gap:9px;white-space:nowrap;font-size:12px}
  & .feedback-reply-heading select {min-width:125px;margin:0;min-height:44px;padding:8px}
  & :is(.feedback-controls,.feedback-scope button,.feedback-load-more,#feedbackReplyForm,#feedbackReplyStatusWrap)[hidden] {display:none!important}
}
@media(max-width:849px) {
  :root[data-appearance] {
    & .feedback-intro {padding:18px;gap:13px;align-items:start}
    & .feedback-intro>span {flex-basis:42px;height:42px;font-size:25px}
    & .feedback-intro strong {font-size:16px}
    & .feedback-filter-grid {grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
    & .feedback-filter-grid :is(input,select) {font-size:16px}
    & .feedback-filter-grid .feedback-query {grid-column:1/-1}
    & .feedback-filter-grid .ghost {grid-column:1/-1}
    & .feedback-card {grid-template-columns:36px minmax(0,1fr);padding:17px;gap:11px}
    & .feedback-area-mark {width:36px;height:36px;font-size:18px}
    & .feedback-card-copy {grid-column:2;grid-row:1/3}
    & .feedback-card-side {grid-column:2;grid-row:3;display:flex;align-items:center;justify-content:space-between;margin-top:3px}
    & .feedback-card-title {font-size:16px}
    & .feedback-scope {width:100%}
    & .feedback-scope button {flex:1;padding-inline:12px}
    & .feedback-image-previews,& .feedback-screenshots {grid-template-columns:repeat(2,minmax(0,1fr))}
    & .feedback-description {padding:16px;font-size:14px}
    & #feedbackDetailTitle {font-size:23px}
    & .feedback-message header>small {width:100%;margin-left:0}
    & .feedback-reply-heading {align-items:start;flex-direction:column}
    & .feedback-reply-heading label {justify-content:space-between;width:100%}
    & .feedback-home-entry {padding:18px;gap:12px}
  }
}
@media(prefers-reduced-motion:reduce) {
  :root[data-appearance] .feedback-card {transition:none}
}
