/* Extend the landing page's paper, ink, and Craft Green review language. */
.live-review { color:var(--ink); background:var(--paper-deep); }
.review-heading { display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:clamp(2rem,6vw,6rem); margin-bottom:clamp(2rem,4vw,3.5rem); }
.review-heading h2 { font-size:var(--fs-h2-lg); line-height:1.08; letter-spacing:-.03em; }
.review-heading > p { max-width:51ch; margin:0; color:var(--muted); font-family:var(--font-ui); }
.review-section-link { display:inline-block; margin-top:.5rem; text-underline-offset:.25em; text-decoration-thickness:1px; font-family:var(--font-ui); font-size:.9375rem; font-weight:600; }
.review-demo { margin:0; overflow:hidden; border:1px solid #424b3d; border-radius:var(--radius-lg); background:#202620; }
.review-demo svg, .review-devices svg { width:20px; height:20px; display:block; flex-shrink:0; }
.review-demo-brandbar { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:58px; padding:.75rem 1.25rem; color:var(--on-dark); background:var(--ink-deep); font-family:var(--font-ui); font-size:.875rem; }
.review-demo-brandbar > span:first-child { display:flex; align-items:center; gap:.5rem; font-weight:600; }
.review-demo-brandbar > span:last-child { color:var(--on-dark-muted); font-size:.8125rem; }
.review-demo-brandbar svg { width:12px; height:16px; fill:var(--green); }
.review-demo-brandbar b { margin-left:.75rem; padding-left:1rem; border-left:1px solid var(--dark-line); font-weight:400; color:var(--on-dark-muted); }
.review-demo-toolbar { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:70px; padding:.65rem 1.25rem; border-bottom:1px solid #424b3d; color:var(--on-dark); font-family:var(--font-ui); }
.review-demo-page { display:flex; align-items:center; gap:1rem; min-width:0; }
.review-demo-page strong { font-size:.875rem; font-weight:500; }
.review-demo-page > span { color:var(--on-dark-muted); font-size:.8125rem; }
.review-devices { display:flex; align-items:center; gap:4px; font-family:var(--font-ui); }
.review-devices button { display:flex; align-items:center; justify-content:center; gap:.4rem; min-width:44px; min-height:44px; padding:.25rem .5rem; border:1px solid transparent; border-radius:5px; color:var(--on-dark-muted); background:transparent; font:inherit; font-size:.8125rem; cursor:pointer; }
.review-devices button:hover { color:var(--on-dark); background:#30382d; }
.review-devices button[aria-pressed="true"] { color:var(--green); border-color:#647b44; background:#303d23; }
.hero .editor-topbar { min-height:60px; padding-block:8px; }
.editor-selection-hint { margin:0; padding:.65rem 1rem; border-top:1px solid var(--dark-line); color:var(--on-dark-muted); font-family:var(--font-ui); font-size:.75rem; line-height:1.4; }
.review-demo [hidden] { display:none !important; }
.review-trial-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem 1rem; padding:.65rem 1.25rem; border-bottom:1px solid #424b3d; color:var(--on-dark); font-family:var(--font-ui); }
.review-trial-toolbar p { margin:0 0 0 auto; color:var(--on-dark-muted); font-size:.75rem; line-height:1.5; }
.review-try { min-height:44px; padding:.45rem .8rem; border:1px solid #647b44; border-radius:5px; color:var(--green); background:#303d23; font:inherit; font-size:.8125rem; font-weight:600; cursor:pointer; }
.review-try:hover { background:#3c4c2c; }
.review-note-count { color:var(--on-dark-muted); font-size:.75rem; font-variant-numeric:tabular-nums; }
.review-demo button:disabled { cursor:default; opacity:.5; }
.review-sample-site { position:relative; }
.review-example-thread { display:flex; flex:1; flex-direction:column; }
.review-note-layer { position:absolute; inset:0; pointer-events:none; }
.review-personal-pin { right:auto; transform:translate(-50%,-50%); pointer-events:auto; }
.review-demo[data-review-mode="try"] [data-trial-target] { cursor:crosshair; outline:1px solid transparent; outline-offset:6px; }
.review-demo[data-review-mode="try"] [data-trial-target]:hover,
.review-demo[data-review-mode="try"] [data-trial-target][data-trial-selected] { outline-color:#587d19; }
.review-demo[data-review-mode="try"] [data-trial-target]:focus-visible { outline:2px solid #587d19; }
.review-demo[data-review-mode="try"] [data-trial-target][aria-disabled="true"] { cursor:default; }
.review-user-panel { display:flex; flex:1; flex-direction:column; gap:1.25rem; }
.review-user-empty { margin:0; color:var(--muted); font-size:.875rem; line-height:1.6; }
.review-compose { display:flex; flex-direction:column; gap:.6rem; }
.review-compose label { font-size:.875rem; font-weight:600; }
.review-compose textarea { box-sizing:border-box; width:100%; min-height:110px; max-height:240px; resize:vertical; padding:.65rem; border:1px solid #9ca78f; border-radius:4px; color:var(--ink); background:#fffefa; font:inherit; font-size:.875rem; line-height:1.5; }
.review-compose textarea::placeholder { color:#697160; }
.review-compose-error { margin:0; color:#a42a20; font-size:.75rem; }
.review-compose-actions, .review-user-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; }
.review-compose-actions button { min-height:44px; padding:.5rem .75rem; border:1px solid #bcc8af; border-radius:4px; color:#293e1d; background:#e9efdf; font:inherit; font-size:.8125rem; font-weight:600; cursor:pointer; }
.review-compose-actions .review-cancel-note { border-color:transparent; background:transparent; color:var(--muted); font-weight:400; text-decoration:underline; text-underline-offset:.2em; }
.review-comment-author { display:flex; align-items:center; justify-content:space-between; gap:.5rem; min-width:0; }
.review-comment-author strong { min-width:0; }
.review-user-actions { margin:0; flex-wrap:nowrap; gap:.125rem; flex-shrink:0; }
.review-user-actions button { display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; min-width:28px; min-height:28px; padding:0; border:0; border-radius:4px; color:var(--muted); background:transparent; font:inherit; cursor:pointer; }
.review-user-actions button svg { width:14px; height:14px; }
.review-user-actions button:hover { background:#f0f2eb; }
.review-user-resolve:hover, .review-user-resolve[aria-pressed="true"] { color:#3f562d; }
.review-user-resolve:focus-visible { outline:2px solid #587d19; outline-offset:3px; }
.review-user-actions .review-remove-note:hover { color:#883b2e; background:#faeee9; }
.review-user-actions .review-remove-note:focus-visible { outline:2px solid #883b2e; outline-offset:3px; }
.review-user-message { overflow-wrap:anywhere; white-space:pre-wrap; }
.review-user-list { display:flex; flex-direction:column; gap:.3rem; margin-top:auto; padding-top:1rem; border-top:1px solid var(--line); }
.review-user-list button { min-height:44px; padding:.5rem .6rem; border:1px solid transparent; border-radius:4px; color:var(--muted); background:transparent; font:inherit; font-size:.75rem; line-height:1.4; text-align:left; cursor:pointer; }
.review-user-list button:hover { background:#f0f2eb; }
.review-user-list button[aria-pressed="true"] { border-color:#bacaa5; color:#293e1d; background:#eef3e6; }
.review-note-limit { margin:0; color:var(--muted); font-size:.75rem; line-height:1.5; }
.review-workspace { display:grid; grid-template-columns:minmax(0,1fr) minmax(17rem,30%); }
.review-preview { min-width:0; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:1.25rem; padding:clamp(1rem,2.5vw,2rem); }
.review-sample-site { width:100%; background:#f2efe7; color:#1d211e; }
.review-sample-nav { min-height:60px; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.9rem 5%; font-family:var(--font-ui); font-size:.6875rem; }
.review-sample-nav img { width:104px; height:auto; }
.review-sample-menu { display:none !important; }
.review-sample-hero { display:grid; grid-template-columns:1fr .9fr; min-height:330px; }
.review-sample-copy { min-width:0; padding:2rem 8% 2.5rem; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.review-annotated { position:relative; outline:1px solid transparent; outline-offset:6px; }
.review-annotated[data-selected] { outline-color:#587d19; }
.review-sample-heading { width:100%; }
.review-sample-heading > strong { display:block; font-size:clamp(1.6rem,2.35vw,2.15rem); letter-spacing:-.035em; line-height:1.05; font-weight:700; }
.review-sample-copy > p { margin:1.25rem 0 1.5rem; max-width:28ch; color:#5a615b; font-family:var(--font-ui); font-size:.8125rem; line-height:1.55; }
.review-sample-action { max-width:calc(100% - 1rem); }
.review-sample-action > span { display:block; padding:.65rem .9rem; background:#202621; color:#fffefa; font-family:var(--font-ui); font-size:.75rem; }
.review-sample-image { min-width:0; min-height:300px; margin:.25rem .75rem .75rem 0; }
.review-sample-image > img { width:100%; height:100%; display:block; object-fit:cover; object-position:54% center; }
.review-pin { position:absolute; top:-22px; right:-22px; z-index:1; width:44px; height:44px; display:grid; place-items:center; padding:0; border:0; color:var(--ink); background:transparent; font-family:var(--font-ui); font-size:.8125rem; font-weight:600; cursor:pointer; isolation:isolate; }
.review-pin::before { content:""; position:absolute; z-index:-1; width:28px; height:28px; border:1px solid #54751e; border-radius:50%; background:var(--green); }
.review-pin[aria-pressed="true"]::before { background:var(--ink); border-color:var(--ink); }
.review-pin[aria-pressed="true"] { color:var(--on-dark); }
.review-pin[data-resolved]::before { background:#d9dfd1; border-color:#6d7864; }
.review-pin[data-resolved] { color:#263420; }
.review-preview-hint { display:flex; align-items:center; gap:.5rem; margin:0; color:#c2c9bc; font-family:var(--font-ui); font-size:.8125rem; line-height:1.4; }
.review-preview-hint svg { width:16px; height:16px; }
.review-thread { min-width:0; display:flex; flex-direction:column; padding:1.5rem; color:var(--ink); background:var(--surface); font-family:var(--font-ui); }
.review-thread-heading { display:flex; align-items:center; justify-content:space-between; gap:.5rem; }
.review-thread-heading h3 { font-size:1rem; font-family:var(--font-display); font-weight:700; }
.review-thread-status { padding:.2rem .5rem; border:1px solid #d7dfcd; border-radius:4px; background:#eef2e8; color:#3f562d; font-size:.75rem; }
.review-thread-scope { margin:.5rem 0 1.5rem; padding-bottom:1rem; border-bottom:1px solid var(--line); color:var(--muted); font-size:.8125rem; }
.review-comment { display:grid; grid-template-columns:28px minmax(0,1fr); gap:.65rem; }
.review-avatar { width:28px; height:28px; display:grid; place-items:center; border-radius:50%; background:#e5eadf; color:#314028; font-size:.6875rem; font-weight:600; }
.review-comment strong { display:flex; align-items:baseline; flex-wrap:wrap; gap:.5rem; font-size:.8125rem; font-weight:600; }
.review-comment strong > span { color:var(--muted); font-weight:400; font-size:.6875rem; }
.review-comment p { margin:.35rem 0 0; font-size:.875rem; line-height:1.6; }
.review-comment--reply { margin:1.5rem 0 2rem; }
.review-comment--reply .review-avatar { color:#344b20; background:#d7e8c3; }
.review-resolve { display:flex; justify-content:center; align-items:center; gap:.5rem; width:100%; min-height:44px; margin-top:auto; padding:.75rem; border:1px solid #bcc8af; border-radius:5px; background:#e9efdf; color:#293e1d; font:inherit; font-size:.8125rem; font-weight:600; cursor:pointer; }
.review-resolve:hover { background:#dce9ca; }
.review-resolve[aria-pressed="true"] { color:var(--ink); background:var(--surface); }
.review-resolve svg { width:16px; height:16px; }
.review-demo-disclaimer { margin:1rem 0 0; color:var(--muted); font-size:.75rem; line-height:1.5; }
.review-announcement { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.review-benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(1.5rem,4vw,3.5rem); margin:2.5rem 0 0; padding-top:2rem; border-top:1px solid #c9c9ba; }
.review-benefits dt { margin-bottom:.75rem; font-size:1.0625rem; font-weight:700; line-height:1.35; letter-spacing:-.015em; }
.review-benefits dd { margin:0; color:var(--muted); font-family:var(--font-ui); font-size:.9375rem; line-height:1.65; }
.review-demo[data-review-device="tablet"] .review-sample-site { max-width:27rem; }
.review-demo[data-review-device="tablet"] .review-sample-hero { min-height:370px; grid-template-columns:1fr; }
.review-demo[data-review-device="tablet"] .review-sample-copy { padding:2rem 8%; }
.review-demo[data-review-device="tablet"] .review-sample-image { height:160px; min-height:0; margin:0 8% 1.5rem; }
.review-demo[data-review-device="mobile"] .review-sample-site { max-width:18rem; }
.review-demo[data-review-device="mobile"] .review-sample-links { display:none; }
.review-demo[data-review-device="mobile"] .review-sample-menu { display:block !important; }
.review-demo[data-review-device="mobile"] .review-sample-hero { grid-template-columns:1fr; }
.review-demo[data-review-device="mobile"] .review-sample-copy { padding:1.5rem 9%; }
.review-demo[data-review-device="mobile"] .review-sample-heading > strong { font-size:1.75rem; }
.review-demo[data-review-device="mobile"] .review-sample-image { min-height:0; height:140px; margin:0 9% 1.5rem; }
@media (pointer:coarse) {
  .review-user-actions button { width:44px; height:44px; min-width:44px; min-height:44px; }
  .review-user-conversation .review-avatar { margin-top:8px; }
}
@media (max-width:56.24rem) {
  .hero .viewport-switch button > span { display:none; }
}
@media (max-width:64rem) {
  .review-workspace { grid-template-columns:minmax(0,1fr) 17rem; }
  .review-thread { padding:1.25rem; }
  .review-sample-nav { gap:.5rem; }
  .review-sample-nav img { width:90px; }
  .review-sample-links { font-size:.5625rem; }
  .review-sample-hero { grid-template-columns:1fr; }
  .review-sample-copy { padding:2rem 8%; }
  .review-sample-image { min-height:0; height:150px; margin:0 8% 1.5rem; }
}
@media (max-width:48rem) {
  .review-heading { grid-template-columns:1fr; align-items:start; gap:1.25rem; }
  .review-heading > p { max-width:62ch; }
  .review-workspace { grid-template-columns:1fr; }
  .review-thread { padding:1.5rem; }
  .review-sample-site { max-width:32rem; }
  .review-sample-heading > strong { font-size:2rem; }
  .review-sample-hero { grid-template-columns:1fr .85fr; min-height:300px; }
  .review-sample-image { height:auto; min-height:0; margin:.25rem .75rem .75rem 0; }
  .review-comment--reply { margin-bottom:1.5rem; }
  .review-resolve { width:auto; align-self:flex-start; padding-inline:1rem; }
  .review-benefits { grid-template-columns:1fr; gap:1.5rem; margin-top:2rem; padding-top:1.5rem; }
  .review-benefits dt { margin-bottom:.4rem; }
}
@media (max-width:35rem) {
  .review-demo-brandbar { padding:.75rem 1rem; }
  .review-demo-brandbar b { display:none; }
  .review-demo-brandbar > span:last-child { font-size:.6875rem; }
  .review-demo-toolbar { padding:.65rem .75rem; gap:.5rem; }
  .review-trial-toolbar { padding:.65rem .75rem; gap:.4rem .75rem; }
  .review-trial-toolbar p { flex-basis:100%; margin:0; }
  .review-demo-page { flex-direction:column; align-items:flex-start; gap:.1rem; }
  .review-demo-page > span { font-size:.6875rem; }
  .review-devices button { padding:.25rem; }
  .review-devices button > span { display:none; }
  .review-preview { padding:1.5rem 1.25rem; }
  .review-sample-links { display:none; }
  .review-sample-menu { display:block !important; }
  .review-sample-nav { padding:.9rem 8%; }
  .review-sample-hero { grid-template-columns:1fr; }
  .review-sample-copy { padding:1.5rem 9%; }
  .review-sample-heading > strong { font-size:1.75rem; }
  .review-sample-image { height:160px; margin:0 9% 1.5rem; }
  .review-preview-hint { align-self:flex-start; font-size:.75rem; }
}
