/* Complete base compositions; all animation is owned by scoped GSAP contexts. */
#project-list .project-learning .project-visual,
#project-list .project-payroll .project-visual,
#project-list .project-voice .project-visual { overflow:clip; }
#project-list .project-learning .project-visual > .pv-interface,
#project-list .project-payroll .project-visual > .pv-interface { perspective:1200px; }
#project-list .pm-learning-scene,
#project-list .pm-payroll-scene { position:relative; transform-style:preserve-3d; }
#project-list .pm-learning-scene > .pv-learning,
#project-list .pm-payroll-scene > .pv-payroll { position:relative; z-index:1; }
#project-list .pm-operation-sheet,
#project-list .pm-ledger-sheet { position:absolute; inset:0 5px 3px; padding:8px 15px; pointer-events:none; font-size:6px; letter-spacing:.15em; border:1px solid #b8c3df; background:linear-gradient(120deg,#f4f6fd,#d0d9ed); box-shadow:0 12px 26px -18px #31426566; transform:translate3d(3px,-5px,-10px); }
#project-list .pm-operation-sheet-1 { transform:translate3d(6px,-10px,-20px); background:#c3cde4; }
#project-list .pm-ledger-sheet { color:#81708f; border-color:#c8bcd3; background:repeating-linear-gradient(0deg,#f8f5fb 0 23px,#e9e1ef 23px 24px); transform:translate3d(-4px,-5px,-10px); }
#project-list .pm-ledger-sheet-1 { transform:translate3d(5px,-10px,-20px); background:#d2c9df; }
#project-list .pv-learning-flow { position:relative; isolation:isolate; transform-style:preserve-3d; }
#project-list .pv-learning-flow::before { display:none; }
#project-list .pv-learning-flow .pv-workflow-node { position:relative; z-index:1; transform-origin:center center; padding:8px 3px; border:1px solid #dce3f3; border-radius:4px; background:#fff; box-shadow:0 7px 15px -13px #3458f560; }
#project-list .pm-learning-route { position:absolute; z-index:0; top:22px; left:12%; right:12%; height:2px; background:linear-gradient(90deg,#3458f5,#8a9ff1); transform-origin:left center; pointer-events:none; }
#project-list .pm-reconcile-bar { display:flex; gap:3px; height:3px; margin:-12px 0 18px; overflow:hidden; border-radius:2px; background:#f1edf5; }
#project-list .pm-reconcile-bar > i { display:block; min-width:0; height:100%; background:#806594; transform-origin:left center; }
#project-list .pm-reconcile-bar > i:nth-child(2) { background:#b2a0c4; }
#project-list .pm-reconcile-bar > i:nth-child(3) { background:#967eab; }
#project-list .project-voice .project-visual > .pv-interface { perspective:1100px; }
#project-list .project-voice .pm-voice-scene,
#project-list .project-voice .pm-voice-scene > .pv-voice,
#project-list .project-voice .pm-voice-scene .pv-voice-body,
#project-list .project-voice .pm-voice-scene .pv-transcript { position:relative; transform-style:preserve-3d; }
#project-list .project-voice .pm-voice-scene > .pv-voice { overflow:visible; z-index:1; }
#project-list .project-voice .pm-voice-plane { position:relative; backface-visibility:hidden; border:1px solid #39475d; border-radius:5px; background:linear-gradient(125deg,#222e40,#151d29); box-shadow:0 16px 30px -22px #02060ccc, inset 0 1px #d3dfff0c; }
#project-list .project-voice .pm-voice-scene .pv-wave { overflow:hidden; padding-inline:12px; margin-top:32px; }
#project-list .project-voice .pm-voice-scene .pv-wave > i { transform-origin:center center; }
#project-list .project-voice .pm-voice-scene .pv-transcript > .pm-voice-plane { padding:11px 12px; margin-top:10px; }
#project-list .project-voice .pm-signal-frame { position:absolute; inset:5px; pointer-events:none; border:1px solid #829dff73; border-radius:7px; background:linear-gradient(145deg,#829dff08,transparent 60%); transform:translateZ(-8px); opacity:.3; }
#project-list .project-voice .pm-signal-frame::before,
#project-list .project-voice .pm-signal-frame::after { content:""; position:absolute; width:30px; height:30px; border-color:#b4c5ff; border-style:solid; }
#project-list .project-voice .pm-signal-frame::before { top:-1px; left:-1px; border-width:2px 0 0 2px; }
#project-list .project-voice .pm-signal-frame::after { bottom:-1px; right:-1px; border-width:0 2px 2px 0; }
#project-list .project-voice .pm-voice-rail { display:flex; justify-content:space-between; gap:8px; position:relative; margin-top:17px; pointer-events:none; transform:translateZ(1px); }
#project-list .project-voice .pm-voice-rail::before,
#project-list .project-voice .pm-voice-signal { position:absolute; top:50%; left:5%; right:5%; height:1px; background:#344155; }
#project-list .project-voice .pm-voice-rail::before { content:""; }
#project-list .project-voice .pm-voice-signal { background:#a4baff; transform-origin:left center; }
#project-list .project-voice .pm-voice-step { position:relative; padding:5px 7px; border:1px solid #344155; border-radius:3px; color:#9eacc0; background:#18202c; font-size:6px; line-height:1.4; letter-spacing:.1em; }
#project-list .project-voice .pm-wave-cursor { position:absolute; inset:9px auto 9px 0; width:24%; pointer-events:none; background:linear-gradient(90deg,transparent,#d0dbff21,transparent); border-right:1px solid #c0d0ffaa; transform:translateX(430%); }
@media (min-width:1001px) {
  #project-list .project-voice .project-visual { padding-block:36px; }
  #project-list .project-voice .pm-voice-scene .pv-voice-bottom { margin-top:64px; }
}
@media (max-width:1000px) {
  #project-list .project-learning .project-visual > .pv-interface,
  #project-list .project-payroll .project-visual > .pv-interface,
  #project-list .project-voice .project-visual > .pv-interface { perspective:900px; }
  #project-list .pm-operation-sheet,
  #project-list .pm-ledger-sheet { padding-top:5px; font-size:5px; }
  #project-list .project-voice .pm-voice-scene .pv-wave { margin-top:20px; }
  #project-list .project-voice .pm-voice-scene .pv-transcript > .pm-voice-plane { padding:8px; }
  #project-list .project-voice .pm-voice-scene .pv-voice-bottom { margin-top:38px; }
  #project-list .project-voice .pm-voice-step { padding:5px; font-size:5px; }
}
@media (prefers-reduced-motion:reduce) {
  #project-list .pm-learning-scene,
  #project-list .pm-payroll-scene,
  #project-list .pv-learning-flow { transform-style:flat; }
  #project-list .project-voice .pm-voice-scene,
  #project-list .project-voice .pm-voice-scene > .pv-voice,
  #project-list .project-voice .pm-voice-scene .pv-voice-body,
  #project-list .project-voice .pm-voice-scene .pv-transcript { transform-style:flat; }
  #project-list .project-voice .pm-signal-frame { display:none; }
  #project-list .project-voice .pm-wave-cursor { display:none; }
}
