/* Translucent ruby shell: hollow rim slices, a visible PCB, and clear plastic highlights.
   The circuit drawing stays vector-sharp and introduces no external asset dependency. */
.memory-artifact-stage{--module-w:238px;--module-h:300px;--module-depth:28px;position:relative;width:100%;max-width:460px;min-width:0;height:400px;margin:auto;display:grid;place-items:center;perspective:1100px;isolation:isolate}
.memory-artifact-stage::before{content:"";position:absolute;width:85%;height:78%;top:2%;left:7.5%;border-radius:50%;background:radial-gradient(ellipse,#d82c3424 0%,#b2192212 36%,transparent 68%);pointer-events:none}
.memory-artifact-orbit{position:absolute;bottom:23px;width:82%;height:68px;border:1px solid #da3d3d40;border-radius:50%;background:radial-gradient(ellipse,#8f17254d 0%,#f8525620 30%,#350b1020 52%,transparent 70%);box-shadow:0 0 22px #d0202520,inset 0 0 25px #dd303014}
.memory-artifact-orbit::before{content:"";position:absolute;inset:10px 16px;border-radius:50%;border:1px solid #e7585840;box-shadow:0 0 15px #f35b5b15}
.memory-artifact-orbit::after{content:"";position:absolute;inset:19px 42px;border-radius:50%;background:#050202bb;box-shadow:0 0 15px 8px #05020266}
.memory-artifact-turntable{position:relative;width:var(--module-w);height:var(--module-h);margin-top:-28px;transform-style:preserve-3d;transform:rotateY(0deg);animation:none;will-change:auto}
.memory-artifact-turntable.is-active{animation:memoryModuleTurn 14s linear infinite;will-change:transform}
.memory-module-slice{position:absolute;inset:1px;border-radius:20px 20px 29px 29px;background:transparent;border:2px solid #f3454940;box-shadow:inset 0 0 3px #ff777530,0 0 2px #fd3a3f24;pointer-events:none;transform:translateZ(-10px)}
.memory-module-slice:nth-child(2){transform:translateZ(-5px)}
.memory-module-slice:nth-child(3){transform:translateZ(0)}
.memory-module-slice:nth-child(4){transform:translateZ(5px)}
.memory-module-slice:nth-child(5){transform:translateZ(10px)}
.memory-module-face{position:absolute;inset:0;box-sizing:border-box;border:2px solid #ff80749c;border-radius:20px 20px 29px 29px;backface-visibility:hidden;background:linear-gradient(120deg,#ff6b6b35,transparent 23%,#ff293023 62%,#cf142847),linear-gradient(160deg,#e9273730,#8f0d2624);box-shadow:inset 0 0 0 5px #ff333b2c,inset 0 0 0 7px #ff9b793d,inset 3px 3px 5px #ffcbb43d,inset -3px -3px 6px #73091c6b,0 0 9px #e5422530;transform-style:preserve-3d}
.memory-module-front{transform:translateZ(14px)}
.memory-module-back{transform:rotateY(180deg) translateZ(14px);background:linear-gradient(120deg,#ff8a782f,transparent 36%,#d31a353d),linear-gradient(160deg,#e9273729,#8f0d2624)}
.memory-module-face::after{content:"";position:absolute;inset:2px;pointer-events:none;border-radius:inherit;background:linear-gradient(116deg,#ffe8d843 0%,#ffb7a020 9%,transparent 10%,transparent 27%,#fff1cf19 28%,transparent 29%,transparent 64%,#ffa8a015 65%,transparent 82%),linear-gradient(#ef244323,#ed253c26);box-shadow:inset 0 0 1px #ffe2bddd,inset 0 0 16px #ff303c24;transform:translateZ(3px)}
.memory-module-edge{position:absolute;box-sizing:border-box;backface-visibility:visible;background:repeating-linear-gradient(180deg,#dc243b6b 0 8px,#ff686378 8px 10px,#a7193459 10px 14px);border:1px solid #ffae8b85;box-shadow:inset 3px 0 4px #e72e4a63,inset -3px 0 4px #ff9c794d}
.memory-module-edge.is-left,.memory-module-edge.is-right{width:var(--module-depth);height:calc(100% - 36px);top:17px;border-radius:5px}
.memory-module-edge.is-left{left:-14px;transform:rotateY(90deg)}
.memory-module-edge.is-right{right:-14px;transform:rotateY(90deg)}
.memory-module-edge.is-top,.memory-module-edge.is-bottom{height:var(--module-depth);width:calc(100% - 40px);left:20px;background:linear-gradient(0deg,#ff52635c,#a91e3c3b 48%,#ff8c7b80);border-radius:4px}
.memory-module-edge.is-top{top:-14px;transform:rotateX(90deg)}
.memory-module-edge.is-bottom{bottom:-14px;transform:rotateX(90deg)}
.memory-module-circuit{position:absolute;inset:27px 20px 30px;border:1px solid #e7ac6f85;border-radius:5px;background:radial-gradient(circle at 30% 25%,#7a765b35,transparent 60%),linear-gradient(145deg,#4c4732,#2b3026 48%,#4d4232);box-shadow:0 0 0 2px #991b2440,0 3px 6px #31090c7a,inset 0 0 14px #b9783f24;pointer-events:none;transform:translateZ(-5px);clip-path:polygon(0 0,100% 0,100% 24%,94% 24%,94% 88%,100% 88%,100% 100%,0 100%,0 88%,6% 88%,6% 24%,0 24%)}
.memory-module-circuit::before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20180%20230%22%20fill%3D%22none%22%3E%3Cg%20stroke%3D%22%23c5a36c%22%20stroke-width%3D%221.3%22%20opacity%3D%22.83%22%3E%3Cpath%20d%3D%22M12%208v42l17%2017v39l17%2017v84M22%208v36l16%2016v36l17%2017v94M35%208v33l17%2017v30M145%208v33l-17%2017v30M157%208v43l-15%2015v40l-17%2017v84M168%208v49l-16%2016v42l-17%2017v75M10%20160h18l14-14h22M10%20171h24l14-14h16M170%20160h-18l-14-14h-22M170%20171h-24l-14-14h-16M60%209v17l15%2015v20M120%209v17l-15%2015v20M64%20216v-29l-12-12M116%20216v-29l12-12M83%20216v-42M97%20216v-42M10%20135h13l13-13M170%20135h-13l-13-13%22%2F%3E%3Crect%20x%3D%2258%22%20y%3D%2273%22%20width%3D%2264%22%20height%3D%2249%22%20rx%3D%223%22%2F%3E%3Cpath%20d%3D%22M68%2067v7m11-7v7m11-7v7m11-7v7m11-7v7M68%20122v7m11-7v7m11-7v7m11-7v7m11-7v7%22%2F%3E%3C%2Fg%3E%3Cg%20fill%3D%22%23d4b77e%22%20stroke%3D%22%23665535%22%20stroke-width%3D%221%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%228%22%20r%3D%222.6%22%2F%3E%3Ccircle%20cx%3D%2222%22%20cy%3D%228%22%20r%3D%222.6%22%2F%3E%3Ccircle%20cx%3D%2235%22%20cy%3D%228%22%20r%3D%222.6%22%2F%3E%3Ccircle%20cx%3D%22145%22%20cy%3D%228%22%20r%3D%222.6%22%2F%3E%3Ccircle%20cx%3D%22157%22%20cy%3D%228%22%20r%3D%222.6%22%2F%3E%3Ccircle%20cx%3D%22168%22%20cy%3D%228%22%20r%3D%222.6%22%2F%3E%3Ccircle%20cx%3D%2210%22%20cy%3D%22160%22%20r%3D%222.6%22%2F%3E%3Ccircle%20cx%3D%2210%22%20cy%3D%22171%22%20r%3D%222.6%22%2F%3E%3Ccircle%20cx%3D%22170%22%20cy%3D%22160%22%20r%3D%222.6%22%2F%3E%3Ccircle%20cx%3D%22170%22%20cy%3D%22171%22%20r%3D%222.6%22%2F%3E%3Ccircle%20cx%3D%2246%22%20cy%3D%22207%22%20r%3D%222.6%22%2F%3E%3Ccircle%20cx%3D%2255%22%20cy%3D%22207%22%20r%3D%222.6%22%2F%3E%3Ccircle%20cx%3D%22125%22%20cy%3D%22207%22%20r%3D%222.6%22%2F%3E%3Ccircle%20cx%3D%22135%22%20cy%3D%22207%22%20r%3D%222.6%22%2F%3E%3Ccircle%20cx%3D%2264%22%20cy%3D%22216%22%20r%3D%222.6%22%2F%3E%3Ccircle%20cx%3D%22116%22%20cy%3D%22216%22%20r%3D%222.6%22%2F%3E%3C%2Fg%3E%3Cg%20fill%3D%22%2324251f%22%20stroke%3D%22%23a88b68%22%20stroke-width%3D%221%22%3E%3Crect%20x%3D%2245%22%20y%3D%2232%22%20width%3D%2215%22%20height%3D%229%22%2F%3E%3Crect%20x%3D%22120%22%20y%3D%2232%22%20width%3D%2215%22%20height%3D%229%22%2F%3E%3Crect%20x%3D%2212%22%20y%3D%2287%22%20width%3D%2213%22%20height%3D%2224%22%2F%3E%3Crect%20x%3D%22155%22%20y%3D%2287%22%20width%3D%2213%22%20height%3D%2224%22%2F%3E%3C%2Fg%3E%3Cg%20stroke%3D%22%23d3b788%22%20stroke-width%3D%223%22%3E%3Cpath%20d%3D%22M47%2031v11m11-11v11m64-11v11m11-11v11M11%2091h15m-15%2016h15m128-16h15m-15%2016h15%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") center/100% 100% no-repeat;opacity:.95}
.memory-module-circuit::after{content:"";position:absolute;width:54px;height:40px;left:50%;top:33%;transform:translateX(-50%);border:1px solid #8b7869;border-radius:2px;background:linear-gradient(140deg,#4a413c,#211e1d 25%,#171a18 74%,#42322d);box-shadow:0 3px 5px #15140daa,inset 0 0 0 2px #191b17,0 -5px 0 -2px #bfa880,0 5px 0 -2px #bfa880}
.memory-module-screw{position:absolute;width:9px;height:9px;border:1px solid #5a0b125e;border-radius:50%;background:radial-gradient(circle at 35% 27%,#d4554d,#69101b 57%,#d4514359 67%,#31060d);box-shadow:1px 1px 2px #f4866133,inset 1px 1px 2px #22020b80;z-index:3}
.memory-module-screw.is-tl{top:12px;left:11px}.memory-module-screw.is-tr{top:12px;right:11px}.memory-module-screw.is-bl{bottom:14px;left:12px}.memory-module-screw.is-br{bottom:14px;right:12px}
.memory-module-arrow{position:absolute;width:40px;height:13px;top:12px;left:calc(50% - 20px);clip-path:polygon(50% 0,100% 100%,0 100%);background:linear-gradient(#ec645170,#2f040a55);filter:drop-shadow(0 1px 0 #f58d6c55)}
.memory-module-brand{position:absolute;top:38px;left:23px;right:23px;display:flex;flex-direction:column;align-items:center;gap:10px;transform:translateZ(2px)}
.memory-module-brand img{display:block;width:107px;height:auto;opacity:.93;filter:drop-shadow(0 1px 0 #37040b)}
.memory-module-brand span{font:12px/1.2 'Share Tech Mono',monospace;letter-spacing:.19em;color:#ffe8db;text-shadow:0 1px 1px #41040c;white-space:nowrap}
.memory-module-label{position:absolute;top:153px;left:31px;right:31px;height:93px;box-sizing:border-box;padding:10px 10px 9px;display:flex;flex-direction:column;justify-content:space-between;gap:6px;background:linear-gradient(130deg,#220b10dc,#140c10e6);border:1px solid #ffc18d65;border-radius:4px 4px 8px 8px;box-shadow:0 2px 0 #f7855d38,inset 0 1px 5px #0006;transform:translateZ(2px)}
.memory-module-label::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(115deg,#ffe2be0c,transparent 45%)}
.memory-module-label-top{display:flex;justify-content:space-between;align-items:center;gap:4px;font:8px/1 'Share Tech Mono',monospace;color:#db786d;letter-spacing:.09em}
.memory-module-label-top i{width:5px;height:5px;background:#ff7567;border-radius:50%;box-shadow:0 0 7px #ff6c5d;display:block}
.memory-module-name{font:600 15px/1.08 'Chakra Petch',sans-serif;letter-spacing:-.01em;color:#f5f1e9;text-wrap:balance;max-width:160px;overflow-wrap:normal}
.memory-module-label-bottom{display:flex;align-items:center;justify-content:space-between;gap:6px;font:8px/1 'Share Tech Mono',monospace;color:#cda79e;letter-spacing:.07em}
.memory-module-bars{display:flex;gap:3px}.memory-module-bars i{display:block;width:10px;height:4px;background:#e75858;box-shadow:0 0 3px #e7585840}
.memory-module-emboss{position:absolute;bottom:19px;width:100%;text-align:center;font:600 12px/1 'Chakra Petch',sans-serif;letter-spacing:.18em;color:#ffa79a99;text-shadow:0 1px 0 #4b071aaa,0 -1px 0 #ffc2a040;transform:translateZ(1px)}
.memory-module-back .memory-module-circuit{inset:27px 20px 39px}
.memory-module-back-panel{position:absolute;inset:40px 17px 58px;border:1px solid #ffa98266;border-radius:7px;box-shadow:0 1px 0 #ffb6965c,inset 0 1px 2px #64162255;background:linear-gradient(155deg,#ff695019,transparent 50%,#e53a4226)}
.memory-module-back-brand{position:absolute;width:85px;left:calc(50% - 42.5px);top:77px;opacity:.5;filter:drop-shadow(0 1px 0 #4a0611)}
.memory-module-back-copy{position:absolute;top:124px;left:31px;right:31px;text-align:center;color:#ffe6ccde;font:9px/1.65 'Share Tech Mono',monospace;letter-spacing:.13em;text-shadow:0 1px 2px #261817}
.memory-module-back-copy strong{display:block;margin-bottom:9px;color:#ffe1cf;font-size:11px;font-weight:400;letter-spacing:.08em}
.memory-module-back-serial{position:absolute;left:31px;right:31px;bottom:76px;text-align:center;font:9px 'Share Tech Mono',monospace;color:#f4d4b9b5;letter-spacing:.16em;text-shadow:0 1px 2px #261817}
.memory-module-contact-bay{position:absolute;bottom:10px;left:52px;right:52px;height:28px;display:flex;align-items:stretch;justify-content:center;gap:6px;padding:3px 7px 0;box-sizing:border-box;border-radius:4px 4px 0 0;background:#30050a94;border:1px solid #ec574a33;border-bottom:0;box-shadow:inset 0 2px 3px #18020790}
.memory-module-contact-bay i{flex:1;border-radius:2px 2px 0 0;background:linear-gradient(90deg,#5d3522,#c58b50 32%,#e5b670 54%,#79502f);box-shadow:inset 0 1px 2px #ffe4a24d;opacity:.78}
.memory-artifact-caption{position:absolute;bottom:0;left:0;right:0;text-align:center;color:#b1857f;font:9px/1 'Share Tech Mono',monospace;letter-spacing:.18em}
/* Six seconds per half-turn, then one second still on each face. */
@keyframes memoryModuleTurn{0%{transform:rotateY(0deg)}42.857143%,50%{transform:rotateY(180deg)}92.857143%,100%{transform:rotateY(360deg)}}
@media(max-width:700px){.memory-artifact-stage{max-width:350px;height:338px;--module-w:214px;--module-h:270px;--module-depth:28px}.memory-artifact-turntable{margin-top:-24px}.memory-module-brand{top:35px;gap:8px}.memory-module-brand img{width:94px}.memory-module-brand span{font-size:10px}.memory-module-label{top:139px;left:27px;right:27px;height:83px;padding:8px}.memory-module-name{font-size:13px}.memory-module-label-top,.memory-module-label-bottom{font-size:7px}.memory-module-emboss{bottom:17px;font-size:10px}.memory-module-back-panel{inset:39px 18px 57px}.memory-module-back-brand{top:64px;width:76px;left:calc(50% - 38px)}.memory-module-back-copy{top:106px;font-size:8px}.memory-module-back-copy strong{font-size:10px}.memory-module-back-serial{bottom:69px;font-size:8px}.memory-module-contact-bay{left:47px;right:47px;height:25px}.memory-artifact-orbit{bottom:22px;height:57px}.memory-artifact-caption{font-size:8px}}
@media(max-height:650px) and (min-width:701px){.memory-artifact-stage{height:340px}.memory-artifact-turntable{scale:.88;margin-top:-17px}.memory-artifact-orbit{bottom:17px;width:75%;height:53px}}
@media(prefers-reduced-motion:reduce){.memory-artifact-turntable,.memory-artifact-turntable.is-active{animation:none;transform:rotateY(0deg);will-change:auto}}
