.capture-story { margin:32px 0 44px; }
.story-title-row { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:20px; }
.story-title-row h2 { font-size:24px; letter-spacing:-.035em; margin-top:8px; }
.story-start { flex:none; }
.story-player { border:1px solid var(--border-strong); border-radius:var(--radius-xl); background:var(--surface); overflow:hidden; box-shadow:var(--shadow-sm); }
.story-tabs { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border-bottom:1px solid var(--border); }
.story-tabs button { position:relative; display:flex; align-items:center; justify-content:center; gap:10px; padding:20px 8px; border:0; background:transparent; color:var(--muted); font-size:12px; font-weight:600; min-width:0; overflow-wrap:anywhere; }
.story-tabs button > span { font:11px var(--mono); opacity:.65; }
.story-tabs button[aria-pressed=true] { background:var(--accent-soft); color:var(--accent-text); }
.story-tabs button[data-complete=true] { color:var(--text-2); }
.story-tabs i { position:absolute; height:2px; inset:auto 0 0; background:transparent; transform-origin:left; }
.story-tabs [aria-pressed=true] i { background:var(--accent); }
[data-running=true] .story-tabs [aria-pressed=true] i { animation:story-progress 7.5s linear; }
.story-scene { display:grid; grid-template-columns:minmax(240px,.9fr) minmax(0,1.6fr); min-height:360px; }
.story-scene > * { animation:story-reveal .35s ease-out both; }
.story-narrative { padding:32px 28px; display:flex; flex-direction:column; align-items:flex-start; }
.story-scene-number { font:12px var(--mono); color:var(--accent-text); margin-bottom:18px; }
.story-scene-number span { color:var(--muted); }
.story-narrative h3 { font-size:25px; font-weight:600; line-height:1.2; letter-spacing:-.035em; max-width:290px; }
.story-narrative > p { font-size:13px; line-height:1.75; color:var(--muted); margin:16px 0 22px; }
.story-your-action { font-size:11px; color:var(--text-2); padding-top:16px; border-top:1px solid var(--border); margin-top:auto; width:100%; }
.story-visual { display:grid; align-items:center; padding:30px; border-left:1px solid var(--border-soft); background:radial-gradient(ellipse at center,var(--accent-soft),transparent 75%),radial-gradient(var(--grid-line) 1px,transparent 1px); background-size:auto,18px 18px; overflow:hidden; }
.story-flow { display:grid; grid-template-columns:minmax(0,1fr) 40px minmax(0,1.3fr); align-items:center; width:100%; }
.story-object { background:var(--surface); border:1px solid var(--border-strong); border-radius:var(--radius-lg); padding:22px 12px; display:flex; flex-direction:column; align-items:center; text-align:center; gap:9px; box-shadow:var(--shadow-sm); min-width:0; }
.story-object strong { font-size:12px; overflow-wrap:anywhere; }
.story-object small { font-size:10px; color:var(--muted); line-height:1.6; }
.story-object-icon { display:grid; place-items:center; width:44px; height:44px; border-radius:12px; background:var(--accent-soft); color:var(--accent-text); }
.story-object-icon .icon { width:25px; height:25px; }
.story-key-pair,.story-file-stack { display:grid; gap:14px; }
.story-key-pair .story-object { padding:14px; }
.story-key-pair .story-object-icon { width:32px; height:32px; }
.story-private { border-color:var(--success-border); background:var(--success-soft); }
.story-private .story-object-icon { background:transparent; color:var(--success); }
.story-wire { position:relative; display:flex; align-items:center; justify-content:center; color:var(--accent-text); overflow:hidden; }
.story-wire::before { content:""; position:absolute; left:0; right:0; height:1px; background:var(--accent-border); }
.story-wire > .icon { width:20px; height:20px; position:relative; background:var(--surface); }
.story-wire > span { position:absolute; width:9px; height:3px; background:var(--accent-text); border-radius:4px; z-index:1; opacity:0; }
[data-running=true] .story-wire > span { animation:story-packet 2.2s ease-in-out infinite; }
.story-player-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 24px; background:var(--surface-2); border-top:1px solid var(--border); }
.story-example-label { color:var(--muted); font-size:11px; }
.story-player-footer button { min-height:32px; font-size:12px; }
.story-window { border:1px solid var(--border-strong); border-radius:12px; background:var(--surface); box-shadow:var(--shadow-md); overflow:hidden; }
.story-window-bar { display:flex; align-items:center; gap:12px; padding:12px; border-bottom:1px solid var(--border); background:var(--surface-2); font:10px var(--mono); color:var(--muted); }
.story-window-dots { font-size:8px; letter-spacing:2px; color:var(--muted); }
.story-in-runner { padding:18px 12px; grid-template-columns:minmax(0,1.4fr) 28px minmax(0,1fr); }
.story-mini-label { display:flex; align-items:center; gap:7px; font-size:10px; color:var(--muted); line-height:1.5; }
.story-mini-label .icon { width:14px; height:14px; }
.story-bubble { margin-top:12px; background:var(--surface-3); border-radius:9px 9px 9px 2px; padding:10px; font-size:11px; color:var(--text-2); }
.story-bubble small { display:block; text-align:right; margin-top:4px; font:8px var(--mono); color:var(--muted); }
.story-bubble-reply { margin-left:12px; background:var(--accent-soft); border-radius:9px 9px 2px 9px; }
.story-attachment { display:flex; gap:8px; align-items:center; margin-top:10px; color:var(--muted); font:9px var(--mono); }
.story-certificate { position:relative; border:1px solid var(--accent-border); border-radius:12px; padding:24px 16px 16px; background:var(--surface); box-shadow:var(--shadow-md); }
.story-certificate > strong { font:11px var(--mono); display:block; margin-top:12px; overflow-wrap:anywhere; }
.story-certificate-seal { display:grid; place-items:center; width:38px; height:38px; border-radius:50%; color:var(--accent-text); background:var(--accent-soft); border:1px solid var(--accent-border); position:absolute; right:14px; top:-22px; }
.story-fingerprint { margin:16px 0; padding:10px 0; border-block:1px dashed var(--border-strong); font:9px/1.8 var(--mono); color:var(--muted); }
.story-fingerprint span { display:block; font-size:11px; color:var(--accent-text); }
.story-certificate p,.story-verifier p { display:flex; gap:7px; align-items:center; font-size:10px; margin-top:8px; color:var(--text-2); }
.story-certificate p .icon,.story-verifier p .icon { width:14px; height:14px; color:var(--success); }
.story-file-stack .story-object { padding:12px; gap:5px; }
.story-file-stack .story-object-icon { width:28px; height:28px; }
.story-file-stack .story-object-icon .icon { width:18px; height:18px; }
.story-envelope { text-align:center; padding:24px 12px; border:1px solid var(--accent-border); border-radius:14px; background:var(--accent-soft); box-shadow:var(--shadow-md); }
.story-envelope > .icon { width:30px; height:30px; color:var(--accent-text); }
.story-cipher { display:block; margin:18px 0; font:11px/1.9 var(--mono); letter-spacing:2px; color:var(--accent-text); }
.story-envelope > strong { display:block; font:10px var(--mono); overflow-wrap:anywhere; }
.story-envelope > small { display:block; font-size:10px; line-height:1.6; margin-top:8px; color:var(--muted); }
.story-verifier { padding:20px 15px; border:1px solid var(--success-border); border-radius:12px; background:var(--surface); box-shadow:var(--shadow-md); }
.story-verifier p { margin-top:18px; }
.story-verifier > strong { display:block; border-top:1px solid var(--border); padding-top:14px; margin-top:20px; font-size:10px; color:var(--success); }
.story-benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; padding:26px 4px 32px; }
.story-benefits > div { display:grid; grid-template-columns:20px 1fr; column-gap:10px; align-content:start; }
.story-benefits .icon { color:var(--accent-text); margin-top:2px; }
.story-benefits strong { font-size:13px; font-weight:600; }
.story-benefits p { grid-column:2; font-size:12px; color:var(--muted); line-height:1.7; margin-top:5px; }
.story-lab { border:1px solid var(--border); border-radius:var(--radius-lg); padding:24px; background:var(--surface); }
.story-lab-heading { display:flex; justify-content:space-between; gap:12px; }
.story-lab-heading h3 { font-size:20px; margin-top:7px; letter-spacing:-.025em; }
.story-lab-heading p { font-size:12px; color:var(--muted); margin-top:6px; }
.story-demo-tag { align-self:flex-start; font:9px var(--mono); letter-spacing:1px; border:1px solid var(--border); padding:5px 8px; border-radius:5px; color:var(--muted); }
.story-scenarios { display:flex; gap:6px; flex-wrap:wrap; margin:20px 0; }
.story-scenarios button { border:1px solid var(--border); padding:9px 12px; background:var(--surface-2); border-radius:7px; color:var(--muted); font-size:12px; }
.story-scenarios button[aria-pressed=true] { border-color:var(--accent-border); background:var(--accent-soft); color:var(--accent-text); }
.story-lab-result { display:grid; grid-template-columns:1fr 1.25fr; gap:28px; align-items:start; }
.story-sample { background:var(--surface-2); border:1px solid var(--border); padding:20px; border-radius:10px; }
.story-sample > p { font-size:17px; margin:14px 0 24px; }
.story-sample > p strong { padding:3px 5px; border-radius:4px; font-weight:500; }
.story-sample .story-edited { color:var(--danger); background:var(--danger-soft); }
.story-sample-code { display:flex; align-items:center; gap:8px; font:10px/1.6 var(--mono); color:var(--muted); }
.story-sample-code > span { flex:1; }
.story-check-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 0; border-bottom:1px solid var(--border); font-size:12px; color:var(--muted); }
.story-check-row strong { display:flex; align-items:center; gap:6px; color:var(--success); font-weight:500; }
.story-check-row[data-ok=false] strong { color:var(--danger); }
.story-verdict { display:flex; gap:10px; padding:14px; background:var(--success-soft); border:1px solid var(--success-border); border-radius:8px; color:var(--success); margin-top:14px; }
.story-verdict > .icon { margin-top:2px; }
.story-verdict strong { font-size:12px; }
.story-verdict p { font-size:11px; line-height:1.6; margin-top:5px; color:var(--text-2); }
.story-verdict[data-valid=false] { background:var(--danger-soft); border-color:var(--danger-border); color:var(--danger); }
.story-lab-note { color:var(--muted); font-size:11px; line-height:1.7; border-top:1px solid var(--border); margin-top:20px; padding-top:14px; }
.story-details { margin-top:20px; color:var(--muted); font-size:12px; }
.story-details summary { cursor:pointer; padding:5px 0; }
.story-details p { max-width:850px; margin-top:10px; line-height:1.8; }
.capture-setup-heading { margin:36px 0 22px; scroll-margin-top:90px; }
.capture-setup-heading h2 { font-size:23px; margin-bottom:8px; }
.capture-setup-heading p { font-size:13px; color:var(--muted); }
@keyframes story-packet { 0% { transform:translateX(-24px);opacity:0; } 20%,80% { opacity:1; } 100% { transform:translateX(24px);opacity:0; } }
@keyframes story-progress { from { transform:scaleX(0); } to { transform:scaleX(1); } }
@keyframes story-reveal { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } }
@media(min-width:801px) { .story-scene { min-height:390px; } }
@media(max-width:1000px) { .story-visual { padding:24px 16px; } .story-narrative { padding:28px 22px; } .story-narrative h3 { font-size:22px; } }
@media(max-width:800px) {
  .story-scene { grid-template-columns:1fr; }
  .story-narrative { padding:22px; }
  .story-narrative h3 { max-width:none; }
  .story-narrative > p { margin:12px 0 16px; }
  .story-scene-number { margin-bottom:10px; }
  .story-visual { border-left:0; border-top:1px solid var(--border-soft); min-height:300px; padding:28px; }
  .story-tabs button { flex-direction:column; gap:6px; font-size:10px; padding:15px 3px; }
  .story-title-row { align-items:flex-start; flex-direction:column; }
  .story-benefits { gap:16px; }
  .story-lab-result { gap:18px; }
}
@media(max-width:520px) {
  .capture-story { margin-top:24px; }
  .story-title-row h2 { font-size:22px; }
  .story-visual { padding:28px 12px; min-height:285px; }
  .story-flow { grid-template-columns:minmax(0,1fr) 24px minmax(0,1.3fr); }
  .story-player-footer { padding:10px 12px; gap:8px; }
  .story-example-label { font-size:9px; max-width:120px; }
  .story-player-footer button { font-size:11px; padding:0 8px; }
  .story-object { padding:18px 8px; }
  .story-object strong { font-size:10px; }
  .story-key-pair .story-object { padding:12px 8px; }
  .story-benefits { grid-template-columns:1fr; gap:18px; padding:24px 4px; }
  .story-lab { padding:18px 14px; }
  .story-lab-heading h3 { font-size:19px; }
  .story-lab-result { grid-template-columns:1fr; }
  .story-scenarios { gap:5px; }
  .story-scenarios button { padding:9px 8px; font-size:11px; }
  .story-certificate { padding:22px 10px 12px; }
  .story-fingerprint span { font-size:9px; }
  .story-certificate > strong { font-size:9px; }
  .story-in-runner { grid-template-columns:minmax(0,1.2fr) 20px minmax(0,1fr); padding:16px 8px; }
  .story-bubble { font-size:10px; padding:8px; }
  .story-verifier { padding:16px 10px; }
  .story-cipher { font-size:9px; letter-spacing:1px; }
}
@media(prefers-reduced-motion:reduce) { [data-capture-story] *,[data-capture-story] *::before,[data-capture-story] *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
