/* requests.css — みんなのリクエスト（DEC-WEB-002）。t2 の色・手紙のように縦に並べる（同じカードの格子にしない — no_ai_look AL-1） */
:root { --ink: #1D2A22; --sub: #45564B; --grass: #2F7D4A; --grass-d: #1F5F36; --paper: #FFFDF7; --line: #D9E5DB; }
* { box-sizing: border-box; }
body { color: var(--ink); background: #F5F9F1; font: 17px/1.8 'Zen Kaku Gothic New', system-ui, sans-serif; }
a { color: var(--grass-d); }
.rq { max-width: 920px; margin: 0 auto; padding: 28px 16px 56px; }
.rq-head h1 { margin: 0 0 6px; font-size: clamp(28px, 4vw, 38px); line-height: 1.3; }
.rq-head .lead { margin: 0 0 6px; font-size: 18px; }
.rq-head .fine { margin: 0; color: var(--sub); font-size: 15px; }
.rq-tools { display: grid; grid-template-columns: minmax(0, 2fr) repeat(3, minmax(0, 1fr)); gap: 10px 14px; margin: 22px 0 8px; padding: 14px 16px; background: #fff; border: 1px solid var(--line); border-radius: 10px; }
.rq-tools label { display: block; font-size: 14px; font-weight: 700; color: var(--sub); margin-bottom: 2px; }
.rq-tools input, .rq-tools select { width: 100%; min-height: 46px; padding: 0 10px; border: 1px solid #A3BDAA; border-radius: 8px; background: #fff; color: var(--ink); font: inherit; font-size: 16px; }
.rq-count { margin: 10px 2px; color: var(--sub); font-size: 15px; }
.rq-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.rq-item { position: relative; padding: 14px 18px 12px 22px; background: var(--paper); border: 1px solid var(--line); border-left: 0; box-shadow: 0 3px 10px rgba(40, 60, 40, .06); }
.rq-item::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 6px; background: repeating-linear-gradient(to bottom, #E7EFE8 0 8px, transparent 8px 14px); }
.rq-meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 12px; font-size: 14px; color: var(--sub); }
.rq-meta .who { font-weight: 700; color: var(--ink); font-size: 15px; }
.rq-meta .who button { min-height: 32px; padding: 0 2px; border: 0; background: none; color: inherit; font: inherit; cursor: pointer; text-decoration: underline dotted rgba(31, 95, 54, .5); text-underline-offset: 3px; }
.rq-meta .tag { font-size: 13px; color: var(--sub); }
.rq-meta .k { font-family: ui-monospace, Consolas, monospace; font-size: 13px; color: var(--sub); }
.rq-text { margin: 8px 0 6px; white-space: pre-wrap; overflow-wrap: anywhere; font-size: 16px; line-height: 1.85; }
.rq-text.clamp { max-height: 12.5em; overflow: hidden; -webkit-mask-image: linear-gradient(#000 70%, transparent); mask-image: linear-gradient(#000 70%, transparent); }
.rq-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; font-size: 14px; color: var(--sub); }
.rq-foot .src { overflow-wrap: anywhere; }
.rq-foot button { min-height: 44px; padding: 0 16px; border-radius: 8px; border: 1px solid #A3BDAA; background: #fff; color: var(--grass-d); font: 700 15px/1 'Zen Kaku Gothic New', system-ui, sans-serif; cursor: pointer; }
.rq-foot button.copy { background: var(--grass); color: #fff; border-color: var(--grass); }
.rq-foot button.copy.done { background: #fff; color: var(--grass-d); }
.rq-foot .spacer { flex: 1; }
.rq-more { text-align: center; margin-top: 18px; }
.rq-more button { min-height: 48px; padding: 0 26px; border-radius: 10px; border: 1px solid #A3BDAA; background: #fff; color: var(--ink); font: 700 16px/1 'Zen Kaku Gothic New', system-ui, sans-serif; cursor: pointer; }
mark { background: #FFF1A8; color: inherit; padding: 0 1px; }
@media (max-width: 760px) {
  .rq-tools { grid-template-columns: 1fr 1fr; }
  .rq-tools > div:first-child { grid-column: 1 / -1; }
}
