/* 의견 피드 로컬 화면. 공통 디자인 위에 이 페이지의 표현만 더한다. */
body[data-page="feedback"]{background:#f7f9f6;color:#173d34}
.fb-shell{max-width:768px;margin:0 auto;padding:0 24px 88px;min-height:68vh}
.fb-intro{padding:60px 0 30px}.fb-eyebrow{margin:0 0 12px;color:#00796b;font-size:12px;letter-spacing:.035em;font-weight:800}
.fb-intro h1{font-size:clamp(30px,5vw,42px);line-height:1.3;letter-spacing:-.052em;font-weight:820}.fb-lede{margin:18px 0 0;color:#62756c;font-size:16px;line-height:1.85;letter-spacing:-.02em}
.fb-test-notice{display:flex;align-items:flex-start;gap:12px;padding:16px 18px;margin-bottom:20px;border:1px solid #cde3d8;background:#edf5ee;border-radius:16px}.fb-test-dot{flex:none;width:8px;height:8px;margin-top:6px;border-radius:50%;background:#008b76}.fb-test-notice strong{display:block;font-size:13px;line-height:1.5;color:#145b49}.fb-test-notice p{margin:4px 0 0;font-size:12px;line-height:1.7;color:#4c6b5d}
.fb-composer{padding:24px 26px 20px;border:1px solid #d9e5de;border-radius:24px;background:#fff;box-shadow:0 6px 22px rgba(35,65,48,.035)}.fb-composer-top{display:flex;align-items:center;gap:10px;margin-bottom:14px}.fb-composer-prompt{font-weight:750;font-size:15px;letter-spacing:-.02em}.fb-composer-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:10px;background:#e5f3ee;color:#008674}
.fb-textarea{display:block;width:100%;min-width:0;min-height:116px;max-height:340px;padding:2px 0 12px;border:0;outline:none!important;resize:none;background:transparent;color:#203f34;font:inherit;font-size:16px;line-height:1.85;letter-spacing:-.02em;overflow-y:auto;word-break:normal;overflow-wrap:anywhere}.fb-textarea::placeholder{color:#98a79d}.fb-textarea:focus-visible{border-radius:0;box-shadow:0 2px 0 #009688}.fb-form-meta{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-top:12px;border-top:1px solid #edf1ec}.fb-visibility{font-size:11px;line-height:1.7;color:#7b8a80;max-width:48ch}.fb-counter{flex:none;font-size:11px;line-height:1.7;font-variant-numeric:tabular-nums;color:#8a988d}.fb-counter.is-near-limit{color:#8e5c20}.fb-form-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-top:18px}.fb-nickname-wrap{display:flex;flex-direction:column;gap:6px;min-width:0}.fb-nickname-label{font-size:11px;line-height:1.4;font-weight:650;color:#738277}.fb-nickname{width:170px;max-width:100%;height:36px;padding:7px 11px;border:1px solid #dfe7df;border-radius:10px;background:#fbfcf9;color:#2c493b;font:inherit;font-size:12px}.fb-nickname::placeholder{color:#9aa59b}.fb-nickname:focus{outline:2px solid #89c7b6;outline-offset:1px}.fb-submit{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:none;min-height:42px;padding:0 20px;border-radius:13px;background:#0c6f5c;color:white;font-size:13px;font-weight:750;cursor:pointer;transition:background .15s,opacity .15s}.fb-submit:hover:not(:disabled){background:#095645}.fb-submit:disabled{background:#dbe8df;color:#8a9e90;cursor:not-allowed}.fb-submit .fb-icon{width:15px;height:15px}.fb-form-error{margin:10px 0 0;font-size:12px;line-height:1.6;color:#9e4239}.fb-form-error:empty{display:none}
.fb-feed-section{margin-top:42px}.fb-feed-heading{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:18px;border-bottom:1px solid #dfe7df}.fb-feed-heading h2{font-size:18px;font-weight:780;letter-spacing:-.035em}.fb-feed-heading h2 span{margin-left:7px;color:#83978a;font-size:13px;font-weight:650}.fb-feed-order{display:flex;align-items:center;gap:5px;font-size:11px;color:#819085}.fb-feed-help{margin:12px 0 6px;color:#8a978e;font-size:11px;line-height:1.7}.fb-feed{list-style:none;margin:0;padding:0}.fb-feed-item{position:relative;padding:27px 0 2px}.fb-feed-item:not(:last-child)::before{position:absolute;content:"";left:17px;top:70px;bottom:-22px;width:1px;background:#dde6dc}.fb-message{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr);gap:14px;scroll-margin-top:110px}.fb-message:focus,.fb-comment:focus{outline:2px solid #88c4ae;outline-offset:7px;border-radius:10px}.fb-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#e0ebe1;color:#55725c;font-weight:750;font-size:12px;z-index:1;user-select:none}.fb-avatar.tone-1{background:#e5ede1;color:#67805c}.fb-avatar.tone-2{background:#e1eceb;color:#4a7a74}.fb-avatar.tone-3{background:#ede8df;color:#927d59}.fb-avatar.is-own{background:#d4ede2;color:#1f765b}.fb-message-main{min-width:0;padding-top:2px}.fb-message-meta{display:flex;align-items:center;flex-wrap:wrap;gap:7px;min-width:0;line-height:1.5}.fb-author{font-size:12px;font-weight:750;color:#385445;max-width:100%;overflow-wrap:anywhere}.fb-time{font-size:10px;color:#8e9c91}.fb-own-label{display:inline-block;border-radius:5px;padding:1px 5px;background:#e5f1e8;color:#628c70;font-size:9px;font-weight:650}.fb-message-body{margin:10px 0 0;color:#3c5145;font-size:14px;line-height:1.9;letter-spacing:-.018em;white-space:pre-wrap;word-break:normal;overflow-wrap:anywhere}.fb-message-actions{display:flex;align-items:center;gap:14px;margin-top:10px;min-height:32px}.fb-text-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:4px 0;color:#87978a;font:inherit;font-size:11px;line-height:1.5;cursor:pointer}.fb-text-button:hover{color:#14775d}.fb-text-button[aria-expanded="true"]{color:#0b7b61}.fb-text-button.is-delete{margin-left:auto;color:#9a8c81;font-size:10px}.fb-text-button.is-delete:hover{color:#a14b40}.fb-icon{display:block;width:15px;height:15px;flex:none}.fb-thread{margin:8px 0 10px;padding:18px 0 0 18px;border-left:2px solid #e0eae0}.fb-thread[hidden]{display:none!important}.fb-comments{list-style:none;margin:0;padding:0}.fb-comment{display:grid;grid-template-columns:25px minmax(0,1fr);gap:10px;margin-bottom:20px;scroll-margin-top:120px}.fb-comment .fb-avatar{width:25px;height:25px;font-size:9px}.fb-comment .fb-message-body{font-size:12px;line-height:1.85;margin-top:6px}.fb-comment .fb-author{font-size:11px}.fb-comment .fb-time{font-size:9px}.fb-comment .fb-own-label{font-size:8px}.fb-comment .fb-message-meta .is-delete{min-height:24px;margin-left:auto}.fb-comment-composer{margin-top:12px;padding:15px 16px 14px;background:#eff4ed;border:1px solid #e2e9de;border-radius:15px}.fb-comment-composer .fb-composer-top{margin-bottom:8px}.fb-comment-composer .fb-composer-prompt{font-size:11px;color:#66806b;font-weight:650}.fb-comment-composer .fb-textarea{min-height:66px;max-height:220px;font-size:12px;line-height:1.8}.fb-comment-composer .fb-form-meta{padding-top:6px;border-color:#dfe7da}.fb-comment-composer .fb-counter{font-size:9px}.fb-comment-composer .fb-visibility{font-size:9px}.fb-comment-composer .fb-form-bottom{margin-top:10px;gap:10px}.fb-comment-composer .fb-nickname-label{font-size:9px}.fb-comment-composer .fb-nickname{height:30px;width:145px;font-size:10px;background:#f8faf5;border-color:#dbe4d6}.fb-comment-composer .fb-submit{min-height:32px;padding:0 12px;border-radius:9px;font-size:10px;background:#63826a}.fb-comment-composer .fb-submit:disabled{background:#dbe5d8;color:#9aaa9b}.fb-comment-composer .fb-submit .fb-icon{width:12px;height:12px}
.fb-more-wrap{display:flex;justify-content:center;margin:26px 0 0;padding-top:20px;border-top:1px solid #e1e7df}.fb-more{min-height:42px;display:inline-flex;align-items:center;gap:7px;padding:0 24px;border:1px solid #d6e1d5;border-radius:999px;background:#fff;color:#65806b;font:inherit;font-size:12px;font-weight:650;cursor:pointer}.fb-more:hover{background:#edf5ec;border-color:#b8d2be}.fb-end{margin:0;color:#9aa69c;font-size:11px;line-height:2}.fb-footer-note{margin:35px 0 0;padding-top:20px;border-top:1px solid #e1e7df;color:#93a094;font-size:11px;line-height:1.8;text-align:center}.fb-footer-note a{color:#6e8a75;text-decoration:underline;text-underline-offset:3px}
.fb-preparing{padding:46px 24px;margin:0 0 34px;border-top:1px solid #dee7dd;text-align:center}.fb-preparing-mark{display:grid;place-items:center;width:42px;height:42px;margin:0 auto 18px;border-radius:14px;background:#e2eee4;color:#679777;font-size:15px;font-weight:750}.fb-preparing h2{font-size:20px;line-height:1.5}.fb-preparing p{font-size:13px;color:#7b8d7e;line-height:1.9;margin:14px 0}.fb-preparing a{display:inline-flex;align-items:center;gap:7px;margin-top:10px;min-height:42px;font-size:12px;font-weight:700;color:#397c5f}.fb-no-script{font-size:13px;line-height:1.8;color:#708575}.fb-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:600px){.fb-shell{padding:0 20px 60px}.fb-intro{padding:34px 0 24px}.fb-lede{font-size:14px;margin-top:14px}.fb-test-notice{padding:13px 14px;gap:9px;border-radius:13px}.fb-test-notice strong{font-size:11px}.fb-test-notice p{font-size:10px}.fb-composer{padding:20px 19px 16px;border-radius:20px}.fb-composer-prompt{font-size:13px}.fb-textarea{min-height:125px;font-size:14px}.fb-visibility{font-size:10px;max-width:26ch}.fb-counter{font-size:10px}.fb-form-meta{gap:12px}.fb-form-bottom{gap:12px}.fb-nickname{width:145px}.fb-submit{padding:0 16px;min-height:40px;font-size:12px}.fb-feed-section{margin-top:34px}.fb-feed-heading h2{font-size:17px}.fb-message{grid-template-columns:32px minmax(0,1fr);gap:11px}.fb-avatar{width:32px;height:32px;font-size:11px}.fb-feed-item:not(:last-child)::before{left:15px;top:66px}.fb-message-body{font-size:13px}.fb-thread{padding-left:12px;margin-top:6px}.fb-comment{gap:8px;grid-template-columns:23px minmax(0,1fr)}.fb-comment .fb-avatar{width:23px;height:23px}.fb-comment-composer{padding:13px 12px}.fb-comment-composer .fb-form-bottom{flex-wrap:wrap}.fb-comment-composer .fb-nickname{width:124px}.fb-comment-composer .fb-submit{margin-left:auto}.fb-footer-note{font-size:10px}}
@media(prefers-reduced-motion:reduce){.fb-submit{transition:none}}
/* 입력 뒤에도 대화를 읽기 쉽게 유지하고, 누르는 영역을 확보한다. */
.fb-identity{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:100%}.fb-identity .fb-author{min-width:0}
.fb-operator-badge{display:inline-flex;align-items:center;gap:3px;flex:none;white-space:nowrap;padding:3px 6px;border-radius:5px;background:#0c6f5c;color:#fff;font-size:11px;font-weight:750;line-height:1.25;vertical-align:middle}.fb-operator-badge .fb-icon{width:11px;height:11px;stroke-width:2.4}
.fb-operator-guide{margin:-4px 2px 20px;color:#62756c;font-size:12px;line-height:1.9}.fb-operator-guide .fb-operator-badge{margin-right:3px}
.fb-delete-confirm{margin:8px 0 16px;padding:14px 16px;border:1px solid #e4dcd0;border-radius:14px;background:#faf7f1}.fb-delete-confirm[hidden]{display:none!important}.fb-delete-confirm p{margin:0;color:#6b5b48;font-size:12px;line-height:1.7}.fb-delete-confirm>div{display:flex;justify-content:flex-end;gap:16px;margin-top:6px}.fb-delete-confirm button{min-height:40px;font:inherit;font-size:12px;cursor:pointer}.fb-delete-cancel{color:#68786c}.fb-delete-accept{color:#9a4538;font-weight:700}
.fb-composer>.fb-textarea{min-height:96px}
.fb-comment .fb-message-body{font-size:14px}.fb-comment .fb-author{font-size:12px}.fb-comment .fb-time{font-size:11px}
.fb-comment-composer .fb-textarea{font-size:14px}.fb-comment-composer .fb-nickname{font-size:12px}
.fb-comment-composer .fb-submit{min-height:40px;font-size:12px}.fb-comment-composer .fb-nickname-label,.fb-comment-composer .fb-visibility,.fb-comment-composer .fb-counter{font-size:11px}
.fb-text-button{min-height:40px;font-size:12px}.fb-comment .fb-message-meta .is-delete{min-height:36px;font-size:11px}
@media(max-width:600px){.fb-intro{padding:26px 0 20px}.fb-intro h1{font-size:28px}.fb-eyebrow{margin-bottom:8px}.fb-lede{margin-top:10px;line-height:1.7}.fb-test-notice p{font-size:12px}.fb-textarea,.fb-comment-composer .fb-textarea,.fb-nickname,.fb-comment-composer .fb-nickname{font-size:16px}.fb-nickname,.fb-comment-composer .fb-nickname{height:40px}.fb-submit,.fb-comment-composer .fb-submit{min-height:44px;font-size:13px}.fb-message-body{font-size:14px}.fb-comment-composer .fb-form-bottom{gap:8px}.fb-message-actions .fb-text-button{min-height:44px}}

/* API 연결 상태와 다시 불러오기는 피드 안에서 안내한다. */
.fb-feed-status:empty{display:none}.fb-feed-status{margin:16px 0;padding:12px 16px;border-radius:12px;background:#edf3ed}.fb-feed-status .fb-form-error{margin:0}.fb-empty{margin:0;color:#6c8172;font-size:13px;line-height:1.8}.fb-refresh{margin-left:auto;white-space:nowrap}.fb-more:disabled,.fb-text-button:disabled,.fb-delete-confirm button:disabled{opacity:.5;cursor:wait}
@media(max-width:600px){.fb-feed-heading{flex-wrap:wrap;gap:6px 12px}.fb-feed-order{margin-left:auto}.fb-refresh{margin-left:0;font-size:11px}.fb-feed-status{padding:12px}}
