/* Artefact styling ported from the demos shown to Matthew (chat-skill-deck + prescope). */

/* spinner */
.ring { width: 15px; height: 15px; border-radius: 50%; border: 2px solid rgba(31,78,74,.18); border-top-color: #1F4E4A; animation: da-spin .7s linear infinite; flex: none; }
@keyframes da-spin { to { transform: rotate(360deg); } }

/* cream skill-run card */
.skill { align-self: stretch; width: 100%; background: #FFFDF7; border: 1px solid #E7E2D6; border-radius: 13px; overflow: hidden; box-shadow: 0 8px 20px rgba(14,43,42,.1); color: #46544f; opacity: 0; transform: translateY(8px); transition: all .4s; }
.skill.show { opacity: 1; transform: none; }
.sk-bar { display: flex; align-items: center; justify-content: space-between; padding: 11px 16px; background: #F4F1E9; border-bottom: 1px solid #E7E2D6; }
.sk-bar .cmd { font-family: 'Fraunces', Georgia, serif; font-size: 13px; color: #0E2B2A; }
.sk-bar .cmd b { color: #C89968; }
.sk-bar .demo { font: 700 8.5px Inter; letter-spacing: .12em; text-transform: uppercase; color: #8a938f; border: 1px dashed #cfc9ba; border-radius: 5px; padding: 3px 7px; }
.steps { padding: 8px 16px 14px; }
.srow { display: flex; align-items: center; gap: 12px; padding: 9px 2px; opacity: .35; transition: opacity .4s; }
.srow.active, .srow.done { opacity: 1; }
.sdot { width: 22px; height: 22px; border-radius: 50%; flex: none; display: grid; place-items: center; border: 2px solid #d9d4c6; background: #fff; }
.srow.active .sdot { border-color: transparent; }
.srow.done .sdot { background: #1F4E4A; border-color: #1F4E4A; }
.sdot .ring { width: 14px; height: 14px; display: none; }
.srow.active .sdot .ring { display: block; }
.sdot .ck { width: 12px; height: 12px; stroke: #fff; fill: none; stroke-width: 3; display: none; }
.srow.done .sdot .ck { display: block; }
.slabel { font-size: 13.5px; color: #2a3a38; }
.sk-done { display: flex; align-items: center; gap: 9px; margin: 4px 16px 14px; padding: 10px 13px; background: #E9F3EC; border: 1px solid #cfe6d6; border-radius: 10px; font-size: 13px; color: #1f5e3a; opacity: 0; transition: opacity .4s; }
.sk-done.show { opacity: 1; }
.sk-done svg { width: 15px; height: 15px; stroke: #2E8B57; fill: none; stroke-width: 2.5; flex: none; }

/* connector buttons + sent chip */
.btnrow { align-self: flex-start; display: flex; gap: 9px; flex-wrap: wrap; opacity: 0; transform: translateY(6px); transition: all .35s; }
.btnrow.show { opacity: 1; transform: none; }
.abtn { border: none; font: 600 12.5px Inter; padding: 10px 17px; border-radius: 50px; cursor: pointer; display: inline-flex; gap: 7px; align-items: center; }
.abtn.pri { background: #C89968; color: #0E2B2A; }
.abtn.sec { border: 1px solid rgba(242,235,220,.35); background: transparent; color: #F2EBDC; }
.abtn[disabled] { opacity: .5; cursor: default; }
.skchip { align-self: flex-start; max-width: 90%; display: flex; align-items: center; gap: 9px; font-size: 13px; color: #d8f0e2; background: rgba(127,200,160,.12); border: 1px solid rgba(127,200,160,.4); border-radius: 12px; padding: 11px 14px; }
.skchip svg { width: 15px; height: 15px; stroke: #7FC8A0; fill: none; stroke-width: 2.5; flex: none; }

/* document artefact fade */
.artdoc.show { opacity: 1 !important; transform: none !important; }

/* deck artefact viewer */
.deckart { align-self: stretch; width: 100%; background: #fff; border: 1px solid #E3DFD3; border-radius: 13px; overflow: hidden; box-shadow: 0 8px 20px rgba(14,43,42,.1); opacity: 0; transform: translateY(8px); transition: all .4s; }
.deckart.show { opacity: 1; transform: none; }
.da-bar { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 16px; color: #fff; background: #0E2B2A; }
.da-id { display: flex; align-items: center; gap: 10px; }
.da-logo { font: 600 8px Inter; letter-spacing: .05em; text-transform: uppercase; color: rgba(242,235,220,.65); border: 1px dashed rgba(242,235,220,.42); border-radius: 5px; padding: 4px 7px; line-height: 1.15; text-align: center; }
.da-wm { font-family: 'Fraunces', Georgia, serif; font-size: 14px; font-weight: 500; }
.da-kind { font: 700 9px Inter; letter-spacing: .12em; text-transform: uppercase; opacity: .85; }
.da-stage { position: relative; background: #fff; overflow: hidden; min-height: 300px; }
.da-slide { display: none; flex-direction: column; justify-content: center; padding: 26px 34px 40px; height: 100%; position: relative; }
.da-slide.on { display: flex; }
.da-slide.cover { justify-content: center; }
.da-accentbar { position: absolute; left: 0; top: 0; bottom: 0; width: 6px; }
.da-kick { font: 700 10px Inter; letter-spacing: .16em; text-transform: uppercase; margin-bottom: 12px; }
.da-h { font-family: 'Fraunces', Georgia, serif; color: #101a19; line-height: 1.12; margin-bottom: 12px; }
.da-slide.cover .da-h { font-size: 28px; }
.da-slide.body .da-h { font-size: 21px; }
.da-sub { font-size: 14px; color: #46544f; max-width: 48ch; }
.da-ul { list-style: none; margin: 4px 0 0; padding: 0; }
.da-ul li { position: relative; padding-left: 20px; margin-bottom: 9px; font-size: 14px; color: #2a3a38; line-height: 1.4; }
.da-pageno { position: absolute; right: 16px; bottom: 12px; font: 600 10px Inter; color: #aab2af; }
.da-powered { position: absolute; left: 34px; bottom: 13px; font-family: 'Fraunces', Georgia, serif; font-size: 11px; color: #9aa6a3; }
.da-powered span { color: #C89968; }
.da-nav { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 14px; background: #FAF8F3; border-top: 1px solid #E3DFD3; }
.da-arrows { display: flex; align-items: center; gap: 8px; }
.da-arrow { width: 30px; height: 30px; border-radius: 50%; border: 1px solid #D6DED0; background: #fff; color: #1F4E4A; cursor: pointer; font-size: 15px; display: grid; place-items: center; }
.da-arrow:disabled { opacity: .35; cursor: default; }
.da-dots { display: flex; gap: 5px; }
.da-dot { width: 7px; height: 7px; border-radius: 50%; background: #D6DED0; cursor: pointer; }
.da-acts { display: flex; gap: 9px; }
.da-btn { border: none; font: 600 12px Inter; padding: 8px 14px; border-radius: 50px; cursor: pointer; }
.da-btn.pri { background: #1F4E4A; color: #fff; }
.da-btn.sec { border: 1px solid #C89968; background: #fff; color: #1F4E4A; }
/* present modal */
.da-modal { position: fixed; inset: 0; z-index: 9999; background: rgba(8,29,28,.88); backdrop-filter: blur(7px); display: flex; align-items: center; justify-content: center; padding: 24px; }
.da-mwrap { position: relative; width: min(980px, 94vw); }
.da-mclose { position: absolute; top: -42px; right: -4px; background: none; border: none; color: #fff; font-size: 30px; line-height: 1; cursor: pointer; opacity: .8; }
.da-mstage { position: relative; width: 100%; aspect-ratio: 1000/562; background: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 30px 90px rgba(0,0,0,.55); }
.da-mslide { position: absolute; top: 0; left: 0; width: 1000px; height: 562px; transform-origin: top left; display: none; }
.da-mslide.on { display: block; }
.da-mnav { display: flex; align-items: center; gap: 10px; margin-top: 16px; flex-wrap: wrap; }
.da-marrow { width: 38px; height: 38px; border-radius: 50%; border: 1px solid rgba(242,235,220,.3); background: rgba(242,235,220,.08); color: #fff; font-size: 18px; cursor: pointer; }
.da-mdots { display: flex; gap: 6px; }
.da-mdot { width: 8px; height: 8px; border-radius: 50%; background: rgba(242,235,220,.3); cursor: pointer; }
.da-mdot.on { background: #C89968; }
.da-mcount { font: 600 13px Inter; color: rgba(242,235,220,.7); margin-left: 4px; }

/* social post cards */
.pv { align-self: stretch; width: 100%; background: #FFFDF7; border: 1px solid #E7E2D6; border-radius: 13px; overflow: hidden; box-shadow: 0 8px 20px rgba(14,43,42,.1); color: #46544f; opacity: 0; transform: translateY(8px); transition: all .4s; }
.pv.show { opacity: 1; transform: none; }
.pv-bar { display: flex; align-items: center; justify-content: space-between; padding: 10px 15px; background: #F4F1E9; border-bottom: 1px solid #E7E2D6; }
.pv-bar .a { display: flex; align-items: center; gap: 9px; font-weight: 700; font-size: 12px; color: #1F4E4A; }
.pv-bar .lg { font: 600 8px Inter; letter-spacing: .05em; text-transform: uppercase; color: #8a938f; border: 1px dashed #cfc9ba; border-radius: 5px; padding: 4px 6px; line-height: 1.15; text-align: center; }
.pv-bar .demo { font: 700 8.5px Inter; letter-spacing: .12em; text-transform: uppercase; color: #8a938f; border: 1px dashed #cfc9ba; border-radius: 5px; padding: 3px 7px; }
.pv-body { padding: 14px; display: flex; flex-direction: column; gap: 11px; }
.post { border: 1px solid #E7E2D6; border-radius: 11px; background: #fff; overflow: hidden; }
.ph { display: flex; align-items: center; gap: 10px; padding: 11px 13px 8px; }
.pa { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; font-family: 'Fraunces', serif; font-size: 12px; color: #fff; background: linear-gradient(135deg, #1F4E4A, #2e6d63); }
.ph .pn { font-weight: 700; font-size: 12.5px; color: #0E2B2A; }
.ph .hd { font-size: 10.5px; color: #8a938f; }
.plat { margin-left: auto; font: 700 8.5px Inter; letter-spacing: .05em; text-transform: uppercase; padding: 4px 8px; border-radius: 50px; }
.plat.ig { color: #C13584; background: #FBEAF4; }
.plat.li { color: #1F6FB2; background: #E7F1FA; }
.pb { padding: 0 13px 9px; font-size: 12.5px; line-height: 1.5; color: #2a3a38; }
.tg { padding: 0 13px 11px; font-size: 11.5px; color: #1F4E4A; font-weight: 600; }
.more { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-top: 2px; }
.more .n { font-size: 12px; color: #8a938f; }
