/* Native semantic controls; decorative surfaces never replace the actual controls. */
.ls-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:15px 22px; min-height:48px; font:bold 13px/1.3 var(--ls-font); --paper-mask:url('../materials/tag.svg'); }
.ls-button:hover { text-decoration:underline; text-underline-offset:4px; }
.primary { --paper:var(--ls-accent); --paper-ink:var(--ls-accent-text); }
.primary:hover { color:var(--ls-accent-text); }
.secondary { --paper:var(--ls-surface); --paper-ink:var(--ls-ink); }
.full-width { width:100%; }
.icon-button { display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; min-width:38px; padding:9px; background:transparent; color:inherit; }
.icon-button:hover { background:var(--ls-soft); color:var(--ls-accent); }
.icon-button[aria-pressed='true'] { background:var(--ls-tint); color:var(--ls-accent); }
.icon-button[aria-pressed='true'] svg { fill:var(--ls-tint); }
.text-link { display:inline-flex; align-items:center; gap:8px; font-size:12px; font-weight:bold; }
.text-link:hover { text-decoration:underline; text-underline-offset:3px; }
.text-link svg { width:17px; }
.text-button { background:transparent; color:var(--ls-muted); padding:0; font:inherit; text-align:left; }
.text-button:hover { color:var(--ls-accent); }
.card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.brief-card { display:flex; flex-direction:column; padding:30px 29px 21px; min-height:344px; margin:0; --tilt:-.5deg; }
.brief-card:nth-child(3n+2) { --tilt:.85deg; }
.brief-card:nth-child(3n+3) { --tilt:-.7deg; }
.brief-card-accent { --paper:var(--ls-tint); }
.card-meta { display:flex; justify-content:space-between; gap:10px; margin-bottom:23px; }
.category { display:inline-flex; align-items:center; gap:7px; font:10px/1.4 var(--ls-mono); text-transform:uppercase; letter-spacing:.04em; }
.category i { width:6px; height:6px; background:var(--ls-accent); }
.serial { font:11px var(--ls-mono); color:var(--ls-muted); }
.brief-title { font:bold 27px/1.14 var(--ls-serif); letter-spacing:-.03em; margin-bottom:21px; }
.dialogue { margin-bottom:24px; }
.dialogue p { position:relative; margin:0 0 10px; padding-left:16px; font-size:15px; line-height:1.55; }
.speech-dot { position:absolute; top:.65em; left:0; width:5px; height:2px; background:var(--ls-muted); }
.dialogue .punchline { font-weight:bold; }
.dialogue .punchline .speech-dot { height:4px; background:var(--ls-accent); }
.card-bottom { display:flex; justify-content:space-between; align-items:center; gap:5px; border-top:1px dashed var(--ls-border); padding-top:10px; margin-top:auto; }
.card-actions { display:flex; gap:1px; }
.card-actions .icon-button { width:33px; height:34px; min-width:33px; padding:7px; }
.card-actions svg { width:16px; height:16px; }
.ls-chip { padding:13px 18px; min-height:44px; font-size:12px; --paper-mask:url('../materials/tag.svg'); }
.ls-chip[aria-pressed='true'] { --paper:var(--ls-accent); --paper-ink:var(--ls-accent-text); }
.ls-chip:hover:not([aria-pressed='true']) { --paper:var(--ls-tint); }
.filter-chips { display:flex; gap:10px; flex-wrap:wrap; }
.ls-input,.ls-select { padding:12px; background:#fffaf0; border:1px solid var(--ls-border); color:#211c1c; font:14px/1.4 var(--ls-font); max-width:100%; min-height:47px; border-radius:0; }
.ls-select,textarea.ls-input { width:100%; }
textarea.ls-input { resize:vertical; line-height:1.65; background:repeating-linear-gradient(transparent 0 22px,#a2926b25 22px 23px) #fffaf0; }
.search-box { display:flex; align-items:center; gap:7px; padding:4px 16px; }
.search-box input { border:0; background:transparent; padding-left:0; min-width:0; width:220px; }
.check-label { display:inline-flex; align-items:center; gap:8px; font-size:13px; }
input[type='radio'],input[type='checkbox'] { accent-color:var(--ls-accent); }
.empty-state { padding:60px 24px; text-align:center; }
.empty-icon { font:italic 90px var(--ls-serif); color:var(--ls-accent); }
.controls-panel { padding:30px; align-self:start; }
.panel-heading { display:flex; align-items:center; justify-content:space-between; margin-bottom:28px; padding-bottom:16px; border-bottom:2px solid var(--ls-accent); }
.panel-heading h2 { font-size:27px; margin:0; }
.panel-heading svg { color:var(--ls-accent); }
fieldset { border:0; margin:0 0 25px; padding:0; min-width:0; }
legend,.field-label { font:bold 11px/1.4 var(--ls-mono); margin-bottom:12px; display:block; }
.choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.choice { cursor:pointer; position:relative; }
.choice input { position:absolute; width:1px; height:1px; opacity:0; }
.choice span { display:grid; place-items:center; min-height:45px; text-align:center; padding:9px 6px; border:1px dashed var(--ls-border); font-size:12px; background:#ffffff50; }
.choice input:checked+span { background:var(--ls-accent); color:var(--ls-accent-text); border-color:var(--ls-accent); }
.choice input:focus-visible+span { outline:3px solid var(--ls-focus); outline-offset:3px; }
.tone-choices { display:grid; gap:8px; }
.tone-choice { display:flex; gap:7px; align-items:center; border:1px dashed var(--ls-border); padding:11px; font-size:12px; cursor:pointer; }
.tone-choice span:last-child { margin-left:auto; color:var(--ls-accent); }
.field-note { font-size:12px; color:var(--ls-muted); line-height:1.6; margin:10px 0 20px; }
.mode-label { display:flex; gap:7px; align-items:center; justify-content:center; font:10px/1.4 var(--ls-mono); color:var(--ls-muted); margin:16px 0 0; }
.result-toolbar { display:flex; justify-content:space-between; align-items:center; padding:11px 19px; margin-bottom:18px; }
.result-toolbar .eyebrow { margin:0; }
.result-actions { display:flex; flex-wrap:wrap; gap:14px; margin:27px 0 17px; }
.demo-explanation { max-width:670px; padding:15px 20px; font-size:12px; line-height:1.7; }
@media(max-width:1050px) { .card-grid { gap:23px; } .brief-card { padding:28px 23px 20px; } }
@media(max-width:800px) {
 .card-grid { grid-template-columns:1fr; gap:26px; }
 .brief-card { min-height:0; padding:28px 26px 22px; }
 .library-toolbar { flex-direction:column; align-items:stretch !important; }
 .search-box input { width:100%; }
 .controls-panel { padding:27px; }
 .result-actions .ls-button { flex:1 1 150px; }
}

/* 1.2.0 real editorial links: visual arrows, semantic anchors. */
.editorial-route { display:flex; position:relative; z-index:3; margin:18px 0 28px; }
.editorial-route-home { justify-content:center; margin-top:3px; }
.editorial-route-brief { justify-content:flex-end; margin-top:22px; }
.editorial-route-generator { justify-content:flex-start; margin:18px 0 4px; }
.editorial-link { --paper:var(--ls-surface); --paper-ink:var(--ls-ink); display:inline-flex; align-items:center; gap:12px; max-width:min(100%,520px); padding:12px 18px 13px; font:700 11px/1.35 var(--ls-mono); letter-spacing:.01em; text-decoration:none; }
.editorial-link:hover { --paper:var(--ls-tint); text-decoration:underline; text-underline-offset:4px; }
.editorial-link-accent { --paper:var(--ls-accent); --paper-ink:var(--ls-accent-text); }
.editorial-link-accent:hover { --paper:var(--ls-hot); --paper-ink:var(--ls-accent-text); }
.editorial-link-light { --paper:var(--ls-feature); --paper-ink:var(--ls-feature-ink); }
.editorial-link-arrow { display:inline-flex; margin-left:auto; }
.editorial-link-arrow svg { width:18px; height:18px; }
.editorial-interlude { grid-column:1/-1; display:flex; justify-content:flex-end; align-items:center; min-height:62px; margin:-7px 2vw 1px; }
@media(max-width:800px) {
 .editorial-route,.editorial-route-home,.editorial-route-brief,.editorial-route-generator,.editorial-interlude { justify-content:stretch; margin:14px 0 22px; }
 .editorial-link { width:100%; justify-content:space-between; }
}

/* Wall attachments on briefs are deterministic and decorative only. */
.brief-card-stapled::after {
 content:''; position:absolute; z-index:3; top:8px; left:24px; width:24px; height:6px;
 border:2px solid #77736d; border-bottom-color:#d7d2c9; border-radius:8px; background:#aaa69f;
 box-shadow:0 2px 2px #21150e55; transform:rotate(-7deg); pointer-events:none;
}
.brief-card-pinned::after {
 content:''; position:absolute; z-index:3; top:10px; right:25px; width:12px; height:12px; border-radius:50%;
 background:radial-gradient(circle at 30% 24%,#fff9 0 12%,var(--ls-hot) 29%,#38150e 100%);
 box-shadow:2px 4px 3px #1c110b66; pointer-events:none;
}
.brief-card-taped::after {
 content:''; position:absolute; z-index:3; top:-9px; left:34%; width:78px; height:25px;
 background:repeating-linear-gradient(90deg,#fff2 0 1px,transparent 1px 4px),#d6bc87c2;
 clip-path:polygon(0 8%,8% 0,14% 8%,98% 2%,100% 88%,92% 100%,84% 92%,2% 100%);
 box-shadow:0 2px 2px #27180f31; transform:rotate(-3deg); pointer-events:none;
}
.brief-card-stapled { --tilt:-.65deg; }
.brief-card-pinned { --tilt:.55deg; }
.brief-card-taped { --tilt:-.15deg; }
.brief-card-stapled .category i { transform:rotate(8deg); }
.brief-card-pinned .serial { text-decoration:underline; text-decoration-color:color-mix(in srgb,var(--ls-hot) 55%,transparent); text-underline-offset:4px; }
@media(max-width:800px) {
 .brief-card-stapled::after,.brief-card-pinned::after,.brief-card-taped::after { transform:none; }
 .brief-card-stapled,.brief-card-pinned,.brief-card-taped { --tilt:0deg; }
}
